数据库设计的基本过程及每阶段的主要任务
说明:数据流图用于实现需求分析!
ER图设计
局部ER图->全局ER图->全局ER图优化
在ER图合并的时候,会出现以下3种冲突:
1、属性冲突:属性域的冲突和属性值单位的冲突(范围不同)
2、命名冲突:同名异意、异名同意
3、结构冲突
(C、结构冲突!)
优化的目的:尽可能的避免冗余!
逻辑结构设计(将ER图转换成关系数据模型,设计关系模式)
逻辑结构设计的任务是将概念结构设计阶段得到的E-R图转化为选用的DBMS所支持的数据模型相符的逻辑结构(包括数据库模式和外模式),形成逻辑模型。
特定DBMS可以支持的数据模型包括层次模型、网状模型、关系模型和面向对象模型等。本节以关系数据模型为例讲解逻辑结构设计。
基于关系数据模型的逻辑结构的设计一般分为3个步骤。
(1) 概念模型(ER图)转换为关系数据模型。
(2) 数据模型的优化。
(3) 设计用户外模式。
(要先将ER图转换为DBMS支持的数据模型,之后再转换为逻辑结构!)
(要知道如何将ER图转换为关系(数据)模型))
概念模型(E-R图)转换为关系数据模型
1对1: 随便加到一端
1对多: 加到多的一端(n)
多对多: 生成一个新的关系模式,包含两端
物理结构设计
1、确定数据的存取方法
索引与聚簇的区别:
索引是数据库表的一个附加表,在存储库中建立了索引列的值和相对应的记录地址。
聚簇是把属性或属性组上具有相同值的元组集中存放在连续的物理块上。
(聚簇是放在连续的物理块上!)
练习题: