数据库系统概论(二)数据库设计--数据字典、E-R图
数据字典
数据字典是数据库中数据的描述,也称为元数据。是数据的数据
数据字典建立于需求分析阶段,在设计过程中不断完善
这里的数据字典并不是指DBMS里的数据字典,DBMS中的数据(库)字典是DBMS在执行SQL语句时自动生成的
数据字典各部分的描述
①数据项:数据流图中数据块的数据结构中的数据项说明
数据项是不可再分的数据单位。对数据项的描述通常包括以下内容:
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}
其中“取值范围”、“与其他数据项的逻辑关系”定义了数据的完整性约束条件,是设计数据检验功能的依据。
若干个数据项可以组成一个数据结构。
②数据结构:数据流图中数据块的数据结构说明
数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述通常包括以下内容:
数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
③数据流:数据流图中流线的说明
数据流是数据结构在系统内传输的路径。对数据流的描述通常包括以下内容:
数据流描述={数据流名,说明,数据流来源,数据流去向,
组成:{数据结构},平均流量,高峰期流量}
组成:{数据结构},平均流量,高峰期流量}
其中“数据流来源”是说明该数据流来自哪个过程,即数据的来源。“数据流去向”是说明该数据流将到哪个过程去,即数据的去向。“平均流量”是指在单位时间(每天、每周、每月等)里的传输次数。“高峰期流量”则是指在高峰时期的数据流量。
④数据存储:数据流图中数据块的存储特性说明
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。对数据存储的描述通常包括以下内容:
数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,
组成:{数据结构},数据量,存取方式}
组成:{数据结构},数据量,存取方式}
其中“数据量”是指每次存取多少数据,每天(或每小时、每周等)存取几次等信息。“存取方法”包括是批处理,还是联机处理;是检索还是更新;是顺序检索还是随机检索等。
另外“流入的数据流”要指出其来源,“流出的数据流”要指出其去向。
⑤处理过程:数据流图中功能块的说明
数据字典中只需要描述处理过程的说明性信息,通常包括以下内容:
处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},
E-R图
实体:用矩形表示
属性:椭圆表示,用无向边和实体连接
联系:菱形,用无向边与实体连接并写明联系类型(1:1,1:N,N:M),联系也可以具有属性
E-R到关系模型的转变
1.实例1:将教学管理ER图转换为关系模式
(1)把三个实体类型转换成三个模式:
①系(系编号,系名,电话)
②教师(教工号,姓名,性别,职称)
③课程(课程号,课程名,学分)
(2)对于1:1联系“主管”,可以在“系”模式中加入教工号(教工号为外键)。对于1:N联系“聘任”,可以在“教师”模式中加入系编号(系编号为外键)。对于1:N联系“开设”,可以在“课程”模式中加入系编号(系编号为外键)。
- ①系(系编号,系名,电话,主管人的教工号)
- ②教师(教工号,姓名,性别,职称,系编号)
- ③课程(课程号,课程名,学分,系编号)
(3)第三步:对于M:N联系“任教”,则生成一个新的关系模式:
①任教(教工号,课程号,教材)
(4)这样,转换成的四个关系模式如下:
①系(系编号,系名,电话,主管人的教工号)
②教师(教工号,姓名,性别,职称,系编号)
③课程(课程号,课程名,学分,系编号)
④任教(教工号,课程号,教材)
如此一来,关系模式个数=实体数个数+ M:N联系个数(中间表)