数据库设计的目的是对系统分析阶段数据存储的初步设计做进一步细化,针对已选定的计算机硬件与软件的性能要求,完成数据存储的详细设计。
数据库设计是在选定的数据库管理系统基础上建立数据库的过程。进行数据库设计是在用户需求分析的基础上,进行概念结构设计、逻辑结构设计和物理结构设计,与系统分析和设计的阶段相对应,如图10-18所示。
图10-18 数据库设计与系统开发阶段对照
1)数据库的概念结构设计。其任务是根据用户需求设计数据库的概念数据模型(简称概念模型)。概念模型是从用户角度看到的数据库,它可用E—R模型表示。
2)数据库的逻辑结构设计。它是将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理系统(DBMS)支持的数据模型。将E—R模型转换为关系型数据模型的规则如下:
● 每一个实体集对应于一个关系模式。其中,实体名作为对应的关系名,实体的属性作为对应关系的属性。
● 实体间的联系一般对应一个关系,联系名作为对应的关系名,不带有属性的联系可以去掉。
● 实体和联系中关键字对应的属性在关系模式中仍作为关键字。
接下来,根据所选定的DBMS所要求的格式与具体技术细节,再将一般数据模型转成具体的DBMS数据模型。
逻辑结构设计阶段提出的关系数据模型应符合第三范式(3NF)的要求。如果选用的DBMS是支持层次、网络模型的DBMS,则还需将关系模型转换成层次或网络模型。逻辑结构设计的最后一步,是使用DBMS提供的数据描述语言DDL对数据模型进行模式定义,如库名、变量名、变量类型、变量宽度及小数位等。
3)数据库的物理结构设计。它是指为数据模型在设备上选定合适的存储结构与存储方法,以获得数据库的最佳存取效率。具体包括库文件的组织形式(顺序、索引);存储介质的分配(高速与低速存储介质的选择)以及存储路径的选定等。使用原型法设计的数据库与系统一起,需不断改进、优化,直至用户满意为止。
【例10-7】库存管理E—R模型,如图10-19所示。
图10-19 库存管理E—R图
库存管理过程中涉及的实体包括以下几种。
● 供应单位:属性有单位号、单位名、地址、联系人、邮政编码。
● 物资:属性有物资代码、名称、规格、备注。
● 库存:属性有入库号、日期、货位、数量。(www.daowen.com)
● 合同:属性有合同号、数量、金额、备注。
● 结算:属性有结算编号、用途、金额、经手人。
这些实体之间的联系包括以下几种。
● 入库:一种物资可以多次入库,是1∶N联系。
● 验收:一份合同订购的物资可以分多次验收,是1∶N联系。
● 购进:一次购进的物资可以经多次结算,而一次结算可以承办多次购进的物资,是
N∶N联系。其属性为入库号、结算编号、数量、金额。
● 付款:是N∶N联系,其属性值为结算编号、合同号、数量、金额。
● 订货:这是一个数量超过两个的不同类型实体之间的联系。在订货业务中,一种物资
可由多家供应,产生多笔合同。反之,一个供应单位也可供应多种物资,产生多个合同。所以,在图中用N∶N∶L的结构来表示。订货联系的属性有物资代码、单位号、合同号、数量、单价。
下面根据属性与关系、联系与关系的转换原则,可将图10-19转换成下述对应的关系型数据模型。
● 供应单位(单位号、单位名、地址、联系人、邮政编码)。
● 物资(代码、名称、规格、备注)。
● 库存(入库号、日期、货位、数量)。
● 合同(合同号、数量、金额、备注)。
● 结算(编号、用途、金额、经手人)。
● 购进(入库号、编号、数量、金额)。
● 付款(结算编号、合同号、数量、金额)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。