《实体联系模型》PPT课件.ppt_第1页
《实体联系模型》PPT课件.ppt_第2页
《实体联系模型》PPT课件.ppt_第3页
《实体联系模型》PPT课件.ppt_第4页
《实体联系模型》PPT课件.ppt_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章实体联系模型,8.1 基本的实体联系模型 8.2 扩充的实体联系模型 8.3 从E-R图到关系数据库模式 8.4 小结,第8章实体联系模型,数据库设计一般要经过以下几个步骤: 需求分析阶段 概念结构设计阶段 逻辑结构设计阶段 数据库物理设计阶段 数据库实施阶段 数据库运行和维护阶段,8.1 基本的实体联系模型,8.1.1 基本概念,1、实体和实体型 在实体联系模型中,用实体表示现实世界中某一个具体的物体,具有相同性质的实体组成了一个实体型,每个实体型要有一个名字,一般用名词表示。,8.1 基本的实体联系模型,8.1.1 基本概念,每个实体型有一组属性,表示实体型的特点或性质。每个属性有一个名字,常用名词作为名字。每个属性有一个取值范围,叫做域,域的概念类似于程序设计语言中的数据类型,如果一个属性的域是整型,则1,123是合法的取值,而1.0,123.12是不合法的取值。在实体型的每个属性上取一个合法的值,就得到了一个实体。,8.1 基本的实体联系模型,8.1.1 基本概念,单值属性:实体型中所有实体在某个属性上只取一个值。 多值属性:如何某个实体在属性上取多个值,则该属性是多值属性。 例如,姓名属性是单值属性,而奖励属性是多值属性。 派生属性:从其它属性经过计算得到的。,8.1 基本的实体联系模型,8.1.1 基本概念,如果实体型中的所有实体在一组(或一个)属性上的取值各不相同,则这组属性叫做关键字(Key),这是关键字的主要特点,即唯一性。第二个特点为最小性。 一个实体型只需要一个关键字,被选中的关键字叫做主关键字(Primary Key),其它的关键字叫做候选关键字(Candidate Key)。,8.1 基本的实体联系模型,8.1.1 基本概念,为了便于交流,一般用图示的方法表示实体联系模型,叫做E-R图。一般用矩形表示实体型,矩形框内写明实体型的名称,用单椭圆形表示单值属性,双椭圆形表示多值属性,属性名写在椭圆形内部,关键字加下划线,用无向边将属性与其所属的实体连接起来。,8.1 基本的实体联系模型,8.1.1 基本概念,例如:学生实体型具有学号、姓名、性别、院系、出生日期、入学日期和奖励属性,其E-R图如图所示:,图8.1学生实体型和属性,8.1 基本的实体联系模型,8.1.1 基本概念,2、联系和联系型 物体之间的联系用实体型之间的联系型表示。一般用动词或动词短语作为联系型的名字。在E-R图中用菱形表示联系型,菱形框内写明联系型的名字,并用无向边与相关联的实体型相连。联系型也可以有属性,联系型也有关键字 。 联系是联系型的一个实例。,8.1 基本的实体联系模型,8.1.1 基本概念,例如,学生和班级实体型之间存在一个联系型,取名为“从属于”,描述了学生和班级之间的关系。如图所示:,图8.2用菱形表示联系型,8.1 基本的实体联系模型,8.1.1 基本概念,图中表示学生S1、S2和S3属于班级C1,学生S4和S5属于班级C2。或者说班级C1中有S1、S2和S3三个学生,班级C2中有S4和S5两个学生。,图8.3联系的两种表示方法:图和表,8.1 基本的实体联系模型,8.1.1 基本概念,在学校中,一个学生要选修一些课程,学习完一门课程后会有一个学习成绩。学生与课程之间的联系型“选修”有一个属性:成绩。如图所示:,图8.4联系型的属性,8.1 基本的实体联系模型,8.1.1 基本概念,一个联系型所关联的实体型的个数叫做联系型的度。只关联到一个实体型的联系型叫做一元联系型,有二个实体型参与的联系型叫做二元联系型,依此类推。在实践中经常遇到的是二元联系型,偶尔会遇到三元或多元联系型。,8.1 基本的实体联系模型,8.1.1 基本概念,3、联系的分类 在现实中,两个实体型之间的联系可以分为三种:一对一、一对多、多对多。 (1)一对一联系(1:1) 如果对于实体型A中的每一个实体,实体型B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体型A与实体型B具有一对一联系。,8.1 基本的实体联系模型,8.1.1 基本概念,在E-R图中,在关联实体型和联系型的两个边上加上字符1表示一对一联系,如下图所示:,图8.5学生与学生证之间的一对一联系,8.1 基本的实体联系模型,8.1.1 基本概念,(2)一对多联系 如果对于实体型A中的每一个实体,实体型B中有n个实体(n0)与之联系,反之,对于实体型B中的每一个实体,实体型A中至多只有一个实体与之联系,则称实体型A与实体型B有一对多联系。实体型A叫做一端,实体型B被称为多端。,8.1 基本的实体联系模型,8.1.1 基本概念,班级实体型和学生实体型之间的联系属于一对多联系,因为每个学生只在一个班级中学习,而一个班级可以有多个学生,如图所示:,图8.6 班级与学生之间的一对多联系,8.1 基本的实体联系模型,8.1.1 基本概念,(3)多对多联系 如果对于实体型A中的每一个实体,实体型B中有n个实体(n0)与之联系,反之,对于实体型B中的每一个实体,实体型A中也有m个实体(m0)与之联系,则称实体型A与实体型B具有多对多联系。 在E-R图中,在实体型和联系型的两个边上分别加上字符m和n,表示多对多联系 。,8.1 基本的实体联系模型,8.1.1 基本概念,一个学生可以选修多门课,一门课可以被多个学生选修 。,图8.7学生和课程之间的多对多联系,8.1 基本的实体联系模型,8.1.1 基本概念,4、基数约束 为了更精确的描述实体型的一个实体可以在一个联系中出现的次数,引入基数约束的概念,基数约束用一个数对minmax表示,0minmax。 基数约束是上面叙述过的一对一、一对多、多对多联系的细化。,8.1 基本的实体联系模型,8.1.1 基本概念,min=1的约束叫做强制参与约束,即被施加基数约束的实体型中的每个实体都要参与联系,min=0的约束叫做非强制参与约束,被施加基数约束的实体型中的实体可以出现在联系中,也可以不出现在联系中。,8.1 基本的实体联系模型,8.1.1 基本概念,图8.8 一对一、一对多、多对多的基数约束表示方法,8.1 基本的实体联系模型,8.1.2 几点说明,1、属性和联系 多值属性和复合多值属性经常被表示成一个联系型。 例1 实体型课程具有课程编号、名称和预备课程三个属性,如图8.9(a)。一门课程可能有也可能没有预备课程,可能有一门也可能有多门预备课程,所以,预备课程是一个多值属性。由于预备课程也是实体型课程的实体。因此,可以把预备课程更改为一个联系型,如图8.9(b)。,8.1 基本的实体联系模型,8.1.2 几点说明,图8.9多值属性和联系型,8.1 基本的实体联系模型,8.1.2 几点说明,例2 图8.1的学生实体型有一个多值属性,奖励,一个学生可以获得零到多个奖励,每项奖励由奖励日期和奖励名称组成,因此,奖励属性还是一个复合属性。可以仿照例2.1,把该属性处理成一个联系型,名称为拥有,如图所示。,图8.10 多值复合属性和联系型,8.1 基本的实体联系模型,8.1.2 几点说明,例3 如图8.1,学生实体型有属性院系,表示一个学生在哪个院系学习。院系是另外一个实体型,因此,比较清楚的表示方法是去掉学生实体型中的属性院系,建立与实体型院系之间的联系,如图所示。,图8.11属性转换为联系型,8.1 基本的实体联系模型,8.1.2 几点说明,2、遗漏联系 例4 在学校中为了便于管理,一般是由后勤部门把地点相对集中的若干个宿舍分配给一个院系,再由院系根据班级、个人爱好等因素给学生分派宿舍。 初学者容易忽略掉图8.12中的虚线部分,请注意,从学生就读于院系和宿舍分配给院系两个联系中是推导不出某个学生在哪个宿舍中。,8.1 基本的实体联系模型,8.1.2 几点说明,图8.12遗漏联系,8.1 基本的实体联系模型,8.1.2 几点说明,3、时间戳 例5 考虑产品的价格,由于市场的变化,产品的价格处于不断波动中,如果要记录下产品价格变化的历史情况,E-R图应该怎样画?需要使用多值属性,如图8.13(b),有效时间的值是一个区间,即开始日期,结束日期。,8.1 基本的实体联系模型,8.1.2 几点说明,图8.13 时间的处理方法,8.1 基本的实体联系模型,8.1.2 几点说明,4、实体型之间的多种联系,图8.14实体型之间的多个联系,8.2 扩充的实体联系模型,8.2.1 IsA联系,用E-R方法构建一个项目的模型时,经常会遇到某些实体型是其它实体型的子类型。例如,研究生和本科生是学生的子类型,子类型联系又叫做IsA联系 。 IsA联系一个最重要的性质是子类型实体型继承了父类型实体型的所有属性,当然,也可以有自己的属性。 IsA联系描述了对一个实体型中的实体的一种分类方法,需要对分类方法做进一步的说明或者说施加一些约束。,8.2 扩充的实体联系模型,8.2.1 IsA联系,1、分类属性 分类属性是父实体型的一个属性,可以根据这个属性的值把父实体型中的实体分派到子实体型中。图8.15中,在子类型符号的右边加了一个分类属性:类别,它说明,一个学生是研究生还是本科生由该属性的值决定。,8.2 扩充的实体联系模型,8.2.1 IsA联系,图8.15 分类属性,8.2 扩充的实体联系模型,8.2.1 IsA联系,2、不相交约束 不相交约束说明了父实体型中的一个实体是否能同时是多个子实体型中的实体,如果可以的话,则子实体型互相相容,否则,子实体型互斥。图8.16中,在子类型符号中增加了一个叉号表明一个学生不能既是本科生又是研究生,即子类型实体型本科生和研究生是互斥的。如果没有叉号则表示是相容的。,8.2 扩充的实体联系模型,8.2.1 IsA联系,图 8.16 互斥子类型实体,8.2 扩充的实体联系模型,8.2.1 IsA联系,3、完备性约束 完备性约束约定是否是父实体型中的一个实体必须是某一个子类型实体型中的实体,如果是,则叫做完全特化,否则,叫做部分特化。完备性约束可以用文字加以说明。,8.2 扩充的实体联系模型,8.2.2 part-of联系,part-of联系即部分联系,它表明某个实体型是另外一个实体型的一部分。有两种类型的part-of联系。一种类型是即使整体被破坏,整体的部分仍然可以独立存在,这种类型的part-of联系是非独占的。,8.2 扩充的实体联系模型,8.2.2 part-of联系,图8.17 用参与联系表示非独占联系,8.2 扩充的实体联系模型,8.2.2 part-of联系,与非独占联系相反,在E-R图中用弱实体类型和识别联系的特殊方法表示独占联系。如果一个实体型的存在依赖于其它实体型的存在,则这个实体型叫做弱实体型,否则叫做强实体型。 在E-R图中用双矩形表示弱实体型,用双菱型表示识别联系。,8.2 扩充的实体联系模型,8.2.2 part-of联系,图8.18 弱实体型和识别联系,8.3 从E-R图到关系数据库模式,8.3.1 实体型的表示方法,E-R模型的实体型对应于关系模型中的关系,实体型的名字即关系的名字,实体型的属性构成了关系模式,实体型的实体集合是相应关系模式的一个关系实例。一般情况下,实体型的码就是关系的码。 如果实体型有复合属性,则用若干个原子属性替代复合属性。,8.3 从E-R图到关系数据库模式,8.3.1 实体型的表示方法,如果实体型有一个多值属性,例如,联系电话,如果不使用8.1.2节中的方法把多值属性转换成联系,那么,实体型的码就不同于关系的码。因为关系模型不允许多值属性,而为了表示多值属性需要复制一个实体的除了多值属性以外的所有属性。,8.3 从E-R图到关系数据库模式,8.3.1 实体型的表示方法,图8.19 多值属性的处理方法,8.3 从E-R图到关系数据库模式,8.3.1 实体型的表示方法,当把E-R图转换为关系模式时,弱实体对应一个关系,由于弱实体不能独立存在,在关系中要增加识别联系所关联的强实体的码。 图8.19的两个实体型用下面的关系模式表示: Student(Sno, Sname, Ssex, Sage, Sdept) Contact(Sno, telnum, usage),8.3 从E-R图到关系数据库模式,8.3.2 联系型的表示方法,(1)1:1联系 有两种处理方法。把联系型转换为关系,关系模式包括联系型自身的属性和两端实体的码,两个实体的码的组合作为关系的码,从联系型得到的关系和实体型构成的关系存在引用关系,因此要建立参照完整性约束;另外,也可以把联系型和非强制参与一端的实体型合并,共同建立一个关系,关系属性包括实体型的属性和联系型的属性以及另一端实体的码,实体型的码作为关系的码。,8.3 从E-R图到关系数据库模式,8.3.2 联系型的表示方法,(2)1:n联系 有两种处理方法。一是把联系型转换为关系,关系模式包括联系型自身的属性和两端实体的码,关系的码为n端实体的码,从联系型得到的关系和实体构成的关系存在引用关系,因此要建立参照完整性约束;也可以与n端实体对应的关系模式合并。,8.3 从E-R图到关系数据库模式,8.3.2 联系型的表示方法,(3)m:n联系 转换为一个关系,与联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码的组成关系的码或关系码的一部分。一个典型的例子是学生和课程之间的选课关系,即事例数据库中的SC表。,8.3 从E-R图到关系数据库模式,8.3.2 联系型的表示方法,(3)m:n联系 1、三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码的组成关系的码或关系码的一部分。 2、具有相同码的关系模式可合并。,8.3 从E-R图到关系数据库模式,8.3.3 IsA联系的表示方法,IsA联系描述了实体型之间的继承关系。在关系模型中仍然使用关系表示IsA联系。一般情况下,父实体和各子实体分别用独自的关系表示,表示父实体的关系属性包括所有父实体的属性,子实体对应的关系除了包含各自的属性外,还必须包含父实体的码。,8.3 从E-R图到关系数据库模式,8.3.3 IsA联系的表示方法,如果IsA联系满足不相交约束,也可以用一个关系表示父实体和所有的子实体。 如果IsA联系满足完备性约束,也可以去除表示父实体的关系,但是父实体的所有属性在每个子实体的关系中都必须出现。,8.4 小结,本章着重介绍了实体联系模型的基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论