数据库设计方案建造大型数据库要由专门的软件开发设计人员进行数据库的分析和设计工作,并给出相应的数据库设计方案。建造一般的小型数据库可由软件开发人员自己编写数据库设计方案。下面以为汇科电脑公司建立一个小型数据库系统为例,说明如何进行数据库设计的工作。1需求分析•需求分析就是了解用户需要从数据库中得到什么信息、需要解决什么问题,需要生成什么样的报表,希望数据库系统具有什么功能。•建立数据库之前开发人员需要充分与用户交流,并收集当前使用的各种记录数据的表格与数据。•经过调查了解到如下信息:–汇科电脑公司成立于1997年,是一个销售电脑外部设备和组装生产电脑并销售电脑的公司,其发展很快。由于公司的销售量增长很快,公司考虑扩展其业务获取更大的利润,为此管理层决定开发一个数据库应用系统,其目标是对公司的生产、库存、销售、数据、信息等进行集成管理。经过需求分析,确定该数据库应用系统应具备以下基本功能:•1.能够方便地维护与管理数据–系统应能被那些没有数据库知识的人方便操作。能够方便的输入、修改、删除、添加、查询数据。–能够将生产、库存、销售等业务使用的数据存储在合适的数据库表中,所有的表要具备最小的冗余和参考完整性。•2.能快速查询各种管理使用的信息–可查询计算机产品销售及库存等信息;可查询计算机外设销售、库存、采购等信息;可查询计算机配件库存、采购等信息;可查询计算机及使用的所有配件的信息。•3.能够自动生成生产计划、采购计划报告–可根据销售需求及库存信息制定生产电脑的计划;可根据生产需求及库存信息制定采购配件计划;可根据销售需求制定外设采购计划。•4.能够支持多种管理业务活动–能够生成销售订单;能够生成采购订单;能够生成入库单;能够生成出库单;能够打印销售发票。1.1概念模型设计•1.确定汇科公司数据库应用系统中包含的实体对象–根据调查分析,汇科公司数据库应用系统主要包含如下实体:–物品、电脑产品、配件、供应商、客户、采购员、销售员、生产计划员、采购单、销售订单、仓库、出库单、入库单等。其中物品包含电脑产品、配件、外设三种物品或公司的其他物品。因为电脑产品由配件组成,为了说明二者的关系,所以又专门列出这两种实体。1.2.确定各个实体的属性•物品:物品编号、名称、物品类型、制购类型、提前期、批量、图像等。•电脑产品(父类):电脑物品编号。(名称、类型等属性可在物品中定义)•配件(子类):配件物品编号。•供应商:供应商编号、单位名称、联系人、电话、E-mail地址、邮编、通讯地址等。•客户:客户编号、单位名称、联系人、电话、E-mail地址、邮编、通讯地址。•不同管理人员:编号、姓名等。•仓库:仓库编号、仓库名称。1.3.确定实体间的联系与联系类型•一个电脑可以由多个配件组成,一个配件只能装配在一个电脑上。所以,电脑产品与配件之间存在1:N的装配联系。其装配联系具有使用配件数量的属性。•一种物品对应一种电脑,一种电脑对应一种物品。所以,物品与电脑产品之间存在1:1的对应联系。同样物品与配件之间也存在1:1的对应联系。•管理人员与物品之间存在1:N联系。例如,一个采购员可以采购多个物品,一个物品只能由一个采购员采购。•仓库与物品存在1:N的存放联系。一个仓库可以存放多个物品,一个物品只能存放在一个仓库中。其存放联系具有物品当前库存数量、最小库存量、最大库存量的属性。1.4.设计E-R图(1)局部的E-R图(2)集成多个实体的E-R图1.5逻辑模型设计•根据E-R图及实体属性,可以得到如下关系模式:•物品(物品编号、名称、物品类型、制购类型、提前期、批量、图像、仓库编号、库存量,最大库存量、最小库存量)•电脑(电脑物品编号)•配件(电脑物品编号、配件物品编号、配件数量)•仓库(仓库编号,仓库名称)•其中,带下划线的属性为关键字(主属性)。1.5关系模式的优化设计经过分析,上述4个关系模式都属于3NF,不必优化。关系规范化分析•如学生(学号,系别,宿舍楼,选修课,分数)这个关系中在如下:(学号+选修课)决定你的分数学号决定了该生所性的系别学号决定了该生在何宿舍楼(学号+系别)决定了宿舍楼则在这个关系(表)中存在部分函数依赖,使之不属于2NF此时我们可以采用分解的,就是说把上面的表分解成2个表学生1(学号,选修课,分数)学生2(学号,系别,宿舍楼)此时这两个关系就属于2NF关系规范化分析•如:学生2(学号,系别,宿舍楼)就存在X(学号),Y(系别),Z(宿舍楼)使得学生2关系不属于3NF同理我们分解它:学生21(学号,系别)学生22(学号,宿舍楼)这样所建立的关系学生1(学号,选修课,分数)学生21(学号,系别)学生22(学号,宿舍楼)就是满足第3范式的关系!1.6物理模型设计•根据Access数据库管理系统的特点,设计系统的物理模型,即定义存储在数据库中的表名、字段名、字段数据类型、字段大小、主键等,设计结果如下所示:•数据库名为“汇科电脑公司数据库”。•“汇科电脑公司数据库”中应包含如下4个表的物理结构:–物品(物品编号(文本,10,主键)、名称(文本,20)、物品类型(文本,10)、制购类型(文本,4)、提前期(整型)、批量(整型)、图像(OLE对象)、仓库编号(查阅向导,10)、库存量(整型)、最大库存量(整型)、最小库存量(整型))–电脑(电脑物品编号(查阅向导,主键))–配件(电脑物品编号(查阅向导,主键)、配件物品编号(查阅向导,主键)、配件数量(整型))–仓库(仓库编号(文本,10,主键),仓库名称(文本,10))•其他表的物理结构可在需要时再继续设计。小结与提高•在建立数据库应用系统之前,花时间进行数据库设计是很有必要的,合理的数据库设计是建立一个能够有效、准确、及时地完成所需功能数据库的基础。•数据库设计步骤一般可分为需求分析、概念模型设计、优化设计、物理模型设计等阶段。二、概要设计•在需求分析的基础上建立数据库应用系统的总体结构。划分子系统和子系统的功能模块。要求画出数据库应用系统的总体结构图•例如:书P235图13-1三、详细设计•主要是进行数据库设计、模块详细设计。•1.需求分析•数据库应具备以下基本功能:•1)能够方便地维护与管理数据•2)能快速查询各种管理使用的信息•3)能自动生成各种报表•4)能支持多种业务活动•2.概念模型设计•要求确定实体、实体属性、实体间联系、画出E-R图•3.逻辑模型设计•把E-R图转换成关系模式•4.关系模式优化设计•根据范式优化关系模式•5.物理模型设计•确定表名、字段名、字段类型、字段大小、主键等四、编码•主要任务创建数据库、表、查询、窗体、页、宏、模块对象。五、测试•对各个模块,整个系统测试。测试是否符合设计要求,是否能正常运行。可设置测试用例,并记录错误,改正错误。