- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关系型数据库设计与分析
关系型数据库设计笔记
实体关系模型(Entity-Relationship,简称ER),是目前应用最广泛的概念设计模型。它将现实世界的信息结构统一用属性、实体以及它们之间的联系来描述。
实体 (Entity)。客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。
属性 (Attribute)。属性为实体的某一方面特征的抽象表示。如教师实体可由教师编号、姓名、年龄、性别、职称等属性来刻画。
域 (Domain)。属性的取值范围称为属性的域。 如:教师实体中,属性性别的域为男和女。
主码 (Primary Key)。码也称关键字,它是能够唯一标识一个实体的属性集。如:教师实体的主码为教师编号。
联系 (Relationship)。现实世界的事物总是存在着这样或那样的联系,这种联系必然要在信息世界中得到反映。事物之间的联系可分为两类:一类是实体内部的联系,如组成实体的各属性之间的关系;另一类是实体之间的联系,即不同实体之间的联系。
两个实体集之间的联系
1:1 联系:如果对于A中的一个实体,B中至多有一个实体与其发生联系,反之,B中的每一实体至多对应A中一个实体,则称A与B是1:1联系。
1:n 联系:如果对于A中的每一实体,实体B中有一个以上实体与之发生联系,反之,B中的每一实体至多只能对应于A中的一个实体,则称A与B是1:n联系。
m:n 联系:如果A中至少有一实体对应于B中一个以上实体,反之,B中也至少有一个实体对应于A中一个以上实体,则称A与B为m:n联系。
实体关系模型的表示方法
ER图是直观表示概念模型的工具,ER图的基本思想就是分别用矩形框、椭圆形框和菱形框表示实体、属性和联系,使用无向边将属性与其相应的实体连接起来,并将联系分别和有关实体相连接,注明联系类型
设计局部ER图
[例6.1] 在简单的教务管理系统中,有如下语义约束:
一个学生可选修多门课程,一门课程可被多个学生选修。因此学生和课程之间是多对多的联系;
一个教师可讲授多门课程,一门课程可以由多个教师讲授。因此教师和课程之间也是多对多的联系;
一个系可有多个教师,一个教师只能属于一个系。因此系和教师是之间一对多的联系,同样系和学生之间也是一对多的联系。
综合成初步ER图
[例6.2] 以[例6.1]中教务管理系统的两个局部ER图为例,来说明如何消除各局部ER图之间的冲突,进行局部ER模型的合并,从而生成初步ER图。
首先ER图中存在着命名冲突,学生选课局部ER图中的实体“系”与教师任课局部ER图中的实体“单位”,都是指“系”,即所谓的异名同义,合并后统一改为“系”,这样属性“名称”和“单位名”即可统一为“系名”
其次,还存在着结构冲突,实体“系”和实体“课程” 在两个不同应用中的属性组成不同,合并后这两个实体的属性组成为原来局部ER
解决上述冲突后,合并两个局部ER6-17所示的初步的全局ER图
优化成基本ER图
一个好的ER模式,除了能够准确、全面的反映用户需求之外,还应该达到下列要求:
实体类型的个数应尽量少;
实体类型所含属性个数应尽可能少;
实体类型间的联系应无冗余;
ER图的方法:
实体类型的合并,指相关实体类型的合并。因为实体类型最终要转换成关系模式,涉及多个实体类型的信息要通过连接操作获得,所以,减少实体类型个数,可减少连接的开销,提高处理速度。一般把一对一联系的两个实体类型合并。
消除冗余,在这里指冗余的数据和实体之间冗余的联系。冗余的数据是指可由基本的数据导出的数据,冗余的联系是由其他的联系导出的联系。在前面消除冲突合并后得到的初步ER图中,可能存在冗余的数据或冗余的联系。冗余的存在容易破坏数据库的完整性,给数据库的维护增加困难,应该消除。
[例6.3] 对[例6.2]中生成的初步ER图进行分析优化。
在图6-17所示的初步ER图中,“课程”实体中的属性“教师号”可由“讲授”这个教师与课程之间的联系导出,而学生的平均成绩可由“选修”联系中的属性“成绩”中计算出来,所以“课程”实体中的 “教师号” 与
另外,
典型实例
[例6.2] New Century唱片公司决定将制作唱片的有关音乐人的信息存入数据库中。
◆ 每个New Century中的音乐人都有No、姓名,地址、电话号码等信息。
◆ 每样乐器都有乐器名(如吉他、电子合成器、长笛等),音乐的基调(如C、B-flat、E-flat)等信息。
◆ 每张唱片都有标题、出版日期、格式(如CD和MC)、唱片标识码等信息。
◆ 每首歌曲都有标题和作者等信息。
?◆ 每个音乐人可以演奏多种乐器,且一种乐器可以由多个音乐人演奏。
◆ 每张唱片有一组歌曲,但一首歌曲只能出现在一张唱片中。
◆ 每首歌曲由一名
文档评论(0)