数据库
首页 > 数据库> > 4.3数据库建模设计:三个阶段

4.3数据库建模设计:三个阶段

作者:互联网

4.3数据库建模设计

由4.1节可知,数据库设计分为概念设计、逻辑设计和物理设计3个阶段,

设计人员在各个阶段分别进行概念数据模型设计、逻辑数据模型设计和物理数据模型设计。

4.3.1概念数据模型设计(CDM)

采用E-R模型描述系统的数据对象组成结构

1.抽取与标识实体

【例】针对一个图书销售管理系统数据需求,我们可以抽取出“图书”“商店”“销售”“折扣”“作者”“出版社”实体

2.分析与标识实体联系

【例】分析各种实体之间的联系,给出该联系的名称

3.定义实体属性与标识符

给出属性名称、给出标识符、取值约束等说明;

【可选项:定义属性值域,以限定属性的取值范围、属性是否允许 空值、属性的默认值、属性值检查规则等。】

4.检查与完善概念数据模型

一个较大规模系统或复杂系统的概念数据模型设计不可能一步完成,需要不断完善

【例】对图书销售管理系统E-R模型,我们增加“库存”实体,并与“图书”“商店”实体建立联系。又增加“图书类别”实体,并将它与“图书”实体建立联系。

4.3.2逻辑数据模型设计(LDM)

是概念数据模型在系统设计角度的延伸,它使系统的E-R模型图体现数据库模型的针对性【规范化】

逻辑数据模型与概念数据模型的主要区别如下。

(1)逻辑数据模型比概念数据模型对信息系统数据结构的描述更具体,不但有业务实体,也有新增的、便于信息 化处理的数据实体。

(2)逻辑数据模型将概念数据模型的多对多实体联系转化为易于关系数据库实现的一对多实体联系。

(3)逻辑数据模型将概念数据模型中的标识符依赖实体进一步细化,并区分主键标识符和外键标识符,以便于数 据模型规范化处理。

1.CDM/LDM转换

【例】图书销售管理系统概念数据模型转换为逻辑数据模型

2.规范化与完善逻辑数据模型设计

使达到3NF范式,即实体中非键属性仅依赖于主键属性。

【例】通过分析图4-21所示的图书销售管理系统逻辑数据模型

完善设计

4.3.3物理数据模型设计

不再使用E-R图来描述数据模型结构,而需要考虑将实体如何转换为数据库表

设计步骤

(1)将E-R模型图中每一个实体对应转换成一个关系表,实体属性转换为对应表的列,实体标识符转换为对应表 的主键。

(2)将实体联系转换为关系表之间的主、外键关系,并定义表之间的参照完整性约束。

(3)完善系统的关系模型图,并在模型中扩展定义视图、索引、存储过程及触发器等数据库对象。

1.实体到关系表的转换

首先为每个实体定义一个关系表,其表名与实体名相同;

【例】

2.弱实体到关系表的转换

前面描述的实体转换为关系表的方式适用于E-R模型的所有实体类型,但弱实体转换关系表还需要特别的处理。

例:非标识符依赖的转换】图中的“销售订单”实体在逻辑上依赖于“销售员”实体。它们之间的实体联系为一对多。

“销售订单”实体是非标识符依赖弱实体,因为它有自己独立的标识符“订单编号”。

例:标识符依赖的转换】标识符依赖的强实体标识符不但在“订单明细”关系表中作为主键,同时也作为外键,并与订单明细实体的标识符“订单明细编号”共同构成复合主键

3.实体联系的转换

(1)1:1实体联系的转换

实体分别转换为关系表,将其中一个表的主键放入另一个表中作为外键。

【例4-11】在图4-28所示的E-R模型中,“学生”实体与“助研金发放账号”实体存在1:1实体联系。

(2)1:N实体联系的转换 【最常见】

实体分别转换为关系表,并将1端关系表的主键放入N端关系表中作为外键。

【例】在图4-30所示的E-R模型中,“班级”实体与“学生”实体存在1:N实体联系。

(3)M:N实体联系的转换

【例4-13】“课程”实体与“学生”实体存在M:N联系。

(4)实体继承联系的转换

实体继承联系用来描述实体之间的相似性关系。

当E-R模型转换到关系模型时,父表属性应放到子表中作为外键。

【例】在图4-34所示的E-R模型中,“本科生”“研究生”实体与“学生”实体存在分类继承联系。

方法1:

方法2:

(5)实体递归联系的转换

情况1:N

【例】在图4-37所示的E-R模型中,“顾客”实体为递归实体,该递归实体之间为1:N实体联系。

情况M:N

【例】在图4-39所示的E-R模型中,“医生”实体为递归实体,该递归实体之间为M:N实体联系

一个E-R模型转换到关系模型的整体系统物理数据模型设计。

标签:转换,4.3,数据库,实体,建模,外键,标识符,主键,数据模型
来源: https://www.cnblogs.com/tupo/p/16161691.html