chap02-2 实体-联系(e-r)模型

上传人:第*** 文档编号:53719845 上传时间:2018-09-04 格式:PPT 页数:57 大小:1.35MB
返回 下载 相关 举报
chap02-2 实体-联系(e-r)模型_第1页
第1页 / 共57页
chap02-2 实体-联系(e-r)模型_第2页
第2页 / 共57页
chap02-2 实体-联系(e-r)模型_第3页
第3页 / 共57页
chap02-2 实体-联系(e-r)模型_第4页
第4页 / 共57页
chap02-2 实体-联系(e-r)模型_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《chap02-2 实体-联系(e-r)模型》由会员分享,可在线阅读,更多相关《chap02-2 实体-联系(e-r)模型(57页珍藏版)》请在金锄头文库上搜索。

1、第2章(续) 实体联系(E-R)模型,提纲,数据库设计过程 基本概念 映射约束 扩展ER特性 ER模型设计要点 概念数据库设计过程 E-R模型向关系模式的转换,数据库设计过程,基本概念,历史 -模型:Entity-Relationship Model 1976年,P.P.S.Chen提出-模型,用-图来描述概念模型 观点 世界是由一组称作实体的基本对象和这些对象之间的联系构成的,基本概念,实体(Entity) 客观存在并可相互区分的事物叫实体 如学生张三、工人李四、计算机系、数据库概论 属性(Attribute) 实体所具有的某一特性 一个实体可以由若干个属性来刻画 例如,学生可由学号、姓名、

2、年龄、系等组成 域(Domain) 属性的取值范围 例如,性别的域为(男、女),月份的域为到的整数,基本概念,实体型(Entity Type) 实体名与其属性名集合共同构成实体型 例,学生(学号、姓名、年龄、性别、系、年级) 注意实体型与实体(值)之间的区别,后者是前者的一个特例 如(9808100,王平,21,男,计算机系,2)是一个实体 实体集(Entity Set) 同型实体的集合称为实体集 如全体学生,基本概念,基本概念,联系(Relationship): 实体之间的相互关联 如学生与老师间的授课关系,学生与学生间有班长关系 联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都

3、有一个成绩作为其属性 同类联系的集合称为联系集 元或度(Degree) 参与联系的实体集的个数称为联系的元 如学生选修课程是二元联系,供应商向工程供应零件则是三元联系,基本概念,联系集 borrower,基本概念,实体集customer与account之间的联系集depositor具有属性access-date,基本概念,码(Key) 能唯一标识实体的属性或属性组称作超码 超码的任意超集也是超码 其任意真子集都不能成为超码的最小超码称为候选码 从所有候选码中选定一个用来区别同一实体集中的不同实体,称作主码 一个实体集中任意两个实体在主码上的取值不能相同 如学号是学生实体的码 通讯录(姓名,邮编

4、,地址,电话,Email,BP),基本-图要点,基本-图要点,码在E-R图中的表示 实体集属性中作为主码的一部分的属性用下划线来标明。,基本-图要点,基本概念,参与(Participation) 实体集之间的关联称为参与,即实体参与联系 如王军选修“数据库基础”,表示实体“王军”与 “数据库基础”参与了联系“选修” 如果实体集E中的每个实体都参与到联系集R中的至少一个联系,则称E全部参与R 如果实体集E中只有部分实体参与到联系集R的联系中,则称E部分参与R 如“职工”与“部门”之间的“经理”联系,“职工”实体集部分参与,而“部门”实体集完全参与,参与在E-R图中的表示,customer部分参

5、与联系borrower,Loan完全参与 联系borrower,用双线连接联系 与完全参与的实体,存在依赖,存在依赖(Existence Dependency) 如果实体x的存在依赖于实体y的存在,则称x存在依赖于y y称作支配实体,x称作从属实体 如果y被删除,则x也要被删除 考虑分期付款的例子,对每一个“贷款”实体,有若干个“还款”实体与之关联,“还款”实体存在依赖于“贷款”实体,存在依赖,全部参与与存在依赖 设有A R B,若A存在依赖于B,则A全部参与联系R 参照完整性 一个实体集的属性是另一实体集的主码属性,属性的类型,简单属性 不可再分的属性 如学号、年龄、性别 复合(Compos

6、ite)属性 可以划分为更小的属性 可以把相关属性聚集起来,使模型更清晰 如电话号码=区号+本地号码 出生日=年+月+日 1NF Vs 嵌套关系,属性的类型,属性的类型,单值属性 每一个特定的实体在该属性上的取值唯一 如学生的学号,年龄、性别、系别等 多值属性 某个特定的实体在该属性上的有多于一个的取值 如学生(学号,所选课程,联系电话) 学号与课程之间是一种多值依赖关系,属性的类型,派生(Derived)属性与基属性 可以从其他相关的属性或实体派生出来的属性值 如学生(学号,姓名,平均成绩),选课(学号,课程号,成绩),则平均成绩可由学生所选课程的总成绩除以课程总数来得到。称平均成绩为派生属

7、性,而成绩为基属性,或存储属性 数据库中,一般只存基属性值,而派生属性只存其定义或依赖关系,用到时再从基属性中计算出来 基本表 VS 视图,属性在E-R图中的表示,表示要点 多值属性用双椭圆表示 派生属性用虚椭圆表示,属性在E-R图中的表示,映射约束,映射的基数 存在依赖,映射的基数,映射的基数(Mapping Cardinalities) 实体之间的联系的数量,即一个实体通过一个联系集能与另一实体集相关联的实体的数目 可以有一对一的(1:1),一对多的(1:m),多对多的(m:n)几种情况,映射基数在E-R图中的表示,表示要点 用箭头或线段来表示联系的映射基数,映射的基数,二元联系集的映射基

8、数 设有两个实体集E1, E2 , 一对一 E1中的一个实体与E2中至多一个实体相联系,并且 E2中的一个实体与E1中至多一个实体相联系 如“职工”与“部门”之间的“管理”联系(假定每个部门只有一个经理,一个职工不能兼任两个部门经理 注:一对一不是一一对应,映射的基数,一对多 E1中的一个实体与E2中n(n0)个实体相联系,并且 E2中的一个实体与E1中至多一个实体相联系 如“教师”和“学生”之间的“班主任”联系,映射的基数,多对多 E1中的一个实体与E2中n(n0)个实体相联系,并且 E2中的一个实体与E1中m(m0)一个实体相联系 如“学生”和“课程”之间的“选修”联系,映射的基数,一个实

9、体集内的二元联系 一对一 ei E,至多存在一个ej E,与之相联系(ji) 如“职工”之间的“配偶”联系 一对多 如“职工”内部的“领导”联系 多对多 如“零件”之间的“构成”联系,多个实体集间联系的情况 一对多 设有n个实体集E1 , E2 , , En ,若对于 E1 , , Ei-1, Ei+1 , , En ,分别给定实体e1 , , ei-1 , ei+1 , , en 时,至多有一个实体ei Ei与之相联系,则称有一个从Ei到E1 , , Ei-1 , Ei+1 , , En的一对多联系 如“课程”,“教员”,“参考书”之间的“讲课”联系,映射的基数,映射的基数,映射的基数会影响

10、到ER设计,例如customer与account之间是1:n联系,则可将access-date作为account的属性,映射的基数,One-To-Many,One-To- One,映射的基数,Many-To-Many,Many-To-One,扩展E-R特性,特殊化(Specialization) 属性继承(Attribute Inheritance),扩展E-R特性特殊化,特殊化 实体集中某些子集具有区别于该实体集内其它实体的特性,可以根据这些差异特性对实体集进行分组,这一分组的过程称作特殊化 自顶向下、逐步求精 父类子类 子类特例更小的实体集更多的属性 一个银行帐号可以有存款帐号、贷款帐号

11、学生可以有研究生、本科生,扩展E-R特性特殊化,特殊化在E-R图中的表示 特殊化用标记为ISA的三角形来表示 ISA = “is”,表示高层实体和低层实体之间的“父类子类”联系,扩展E-R特性特殊化,扩展E-R特性属性继承,属性继承 高层实体集的属性被低层实体集自动继承 低层实体集特有的性质仅适用于某个特定的低层实体集 如“Dissertation”属性只适用于“研究生”实体集 层次结构(Hierarchy) 实体集作为低层实体集只能参与到一个ISA联系中 格结构(Lattice) 低层实体集可以参与到多个ISA联系中 如“博士”算参加工作,会继承“职工”实体集的一些属性,“博士”继承了“研究

12、生”与“职工”的所有属性。如果“研究生”与“职工”有相同名称的属性,如“姓名”,则在“博士”中用“研究生.姓名”,“职工.姓名”区别开来。,扩展E-R特性属性继承,E-R图表示汇总,E-R图表示汇总,实体集 Vs 属性,E-R模型设计要点,E-R模型设计要点,实体有多方面性质,属性没有,E-R模型设计要点,若实体中除了多值属性之外还有其它若干属性,则将该多值属性定义为另一实体 供应商可以供应多种零件,供应商除零件属性外只有一个作为主码的姓名属性,供应商除零件属性外另有其它很多属性,E-R模型设计要点,实体集 Vs 联系集,实体与联系:静态与动态,弊端 若多个老师开同一门课,则每个老师与该课程的

13、联系都需重复记录很多相同的信息,E-R模型设计要点,二元 Vs 多元 多元转换为二元 新构建一个实体集E,若R有属性,则将其赋予E,为E添加一个标识属性作为主码,构造三个新联系集RA , RB , RC ,对每个( ai , bi , ci )R,在E中创建一个新实体ei ,然后在RA , RB , RC中分别加入联系(ei , ai ),(ei , bi ),(ei , ci ),B,C,A,R,E-R模型设计要点,缺点 浪费存储空间 语义不清晰,难于体现参与联系的各方,E-R模型设计要点,E-R模型设计要点,上述转换会破坏信息,(4,2,3) ABC?,银行系统的E-R图,E-R模型向关系

14、模式的转换,实体 关系 属性 关系的属性,E-R模型向关系模式的转换,多值属性 新的关系+所在实体的码,选课(学号,所选课程号),复合属性 将每个组合属性作为复合属性所在实体的属性,学生(学号,姓名,年,月,日),E-R模型向关系模式的转换,一对一联系: 若联系双方均部分参与,则将联系定义为一个新的关系,属性为参与双方的码。,配偶(丈夫职工号,妻子职工号),若联系一方全部参与,则将联系另一方的码作为全部参与一方的属性。,部门(部门号,部门名,管理职工号),E-R模型向关系模式的转换,一对多联系: 将单方参与一方实体的码作为多方参与实体的属性。,学生(学生号,学生名,系号,班主任教工号),职工(职工号,职工名,部门号,领导职工号),E-R模型向关系模式的转换,多对多联系: 将联系定义为新的关系,属性为参与双方的码。,选修(学生号,课程号),构成(母零件号,子零件号),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号