数据库系统原理与应用数据库建模er图

上传人:hs****ma 文档编号:586604390 上传时间:2024-09-05 格式:PPT 页数:40 大小:135.50KB
返回 下载 相关 举报
数据库系统原理与应用数据库建模er图_第1页
第1页 / 共40页
数据库系统原理与应用数据库建模er图_第2页
第2页 / 共40页
数据库系统原理与应用数据库建模er图_第3页
第3页 / 共40页
数据库系统原理与应用数据库建模er图_第4页
第4页 / 共40页
数据库系统原理与应用数据库建模er图_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《数据库系统原理与应用数据库建模er图》由会员分享,可在线阅读,更多相关《数据库系统原理与应用数据库建模er图(40页珍藏版)》请在金锄头文库上搜索。

1、数据库系统原理与应用教程(第二版)第2章 数据库建模ER图第第2章章 数据库建模数据库建模ER图图本章概述 本章的学习目标主要内容1数据库系统原理与应用教程(第二版)第2章 数据库建模ER图本章概述本章概述l现在开始讲述数据库建模方法。现在开始讲述数据库建模方法。l设计数据库的方法就是确定将要在数据库中保留什么信息和确认各种设计数据库的方法就是确定将要在数据库中保留什么信息和确认各种信息之间存在什么联系。建立数据库模型,就是使用合适的语言或表信息之间存在什么联系。建立数据库模型,就是使用合适的语言或表示方法表示出这种描述。示方法表示出这种描述。l建立数据库模型的过程一般包括确认需求,即使用某种

2、方式描述将要建立数据库模型的过程一般包括确认需求,即使用某种方式描述将要管理的信息和信息之间的联系,然后把这些格式化的信息输入到数据管理的信息和信息之间的联系,然后把这些格式化的信息输入到数据库管理系统中。库管理系统中。l目前,有许多建立数据模型的方法和工具,例如目前,有许多建立数据模型的方法和工具,例如ER、IDEF1x、ODL和统一建模语言(和统一建模语言(Unified Modeling Language,UML)。因为许多)。因为许多课程都在讲述课程都在讲述UML,所以本书重点讲述前,所以本书重点讲述前3种建模方法。种建模方法。l本章将要学习如何使用实体联系本章将要学习如何使用实体联系

3、(Entity Relationship,ER)图建立图建立数据模型。数据模型。ER图是一种可视化的图形方法,它基于对现实世界的这图是一种可视化的图形方法,它基于对现实世界的这样一种认识,即客观现实世界由一组称为实体的基本对象和这些对象样一种认识,即客观现实世界由一组称为实体的基本对象和这些对象之间的联系组成。之间的联系组成。2数据库系统原理与应用教程(第二版)第2章 数据库建模ER图本章的学习目标本章的学习目标l掌握使用掌握使用ER图建立数据库模型的基本原理;图建立数据库模型的基本原理;l认识和掌握认识和掌握ER图的基本元素;图的基本元素;l了解使用了解使用ER图建立数据库模型的基本原则;图

4、建立数据库模型的基本原则;l认识数据库建模的约束;认识数据库建模的约束;l掌握如何使用掌握如何使用ER图建立约束模型;图建立约束模型;l了解弱实体集的概念、表示和作用;了解弱实体集的概念、表示和作用;l掌握绘制掌握绘制ER图的技巧;图的技巧;l学习和掌握学习和掌握ER图的高级技术。图的高级技术。3数据库系统原理与应用教程(第二版)第2章 数据库建模ER图主要内容主要内容2.1 ER图的基本概念图的基本概念 2.2 ER图设计原则图设计原则 2.3 对约束建模对约束建模 2.4 弱实体集弱实体集 2.5 ER图的高级技术图的高级技术 2.6 本章小结本章小结 4数据库系统原理与应用教程(第二版)

5、第2章 数据库建模ER图2.1 ER图的基本概念图的基本概念l实体集和实体集中的属性实体集和实体集中的属性 l联系集和联系集中的属性联系集和联系集中的属性 l绘制绘制ER图图 5数据库系统原理与应用教程(第二版)第2章 数据库建模ER图实体集实体集 l在在ER图中,把准备模型化的现实世界看成是由实图中,把准备模型化的现实世界看成是由实体组成的,实体是现实世界区别于其他对象的无体组成的,实体是现实世界区别于其他对象的无形事件或有形物体。形事件或有形物体。 l实体既可以是实实在在的可视的客观对象,也可实体既可以是实实在在的可视的客观对象,也可以是抽象的无形的客观事件以是抽象的无形的客观事件l实体集

6、是具有相同类型和相同特征实体集是具有相同类型和相同特征(或属性或属性)的实的实体集合体集合 l一般情况下,实体集是不相交的。在某些情况下,一般情况下,实体集是不相交的。在某些情况下,实体集也可以相交。实体集也可以相交。 6数据库系统原理与应用教程(第二版)第2章 数据库建模ER图实体集中的属性实体集中的属性 l实体集通过一组属性实体集通过一组属性来描述,属性是实体来描述,属性是实体集中每一个成员具有集中每一个成员具有的描述性的特性值。的描述性的特性值。 l从形式化的角度来看,从形式化的角度来看,可以把实体集的属性可以把实体集的属性看作是实体集映射到看作是实体集映射到域的函数。域的函数。 lER

7、图中的属性可以分图中的属性可以分为简单属性和复合属为简单属性和复合属性、单值属性和多值性、单值属性和多值属性、属性、NULL属性、属性、派生属性等。派生属性等。 7数据库系统原理与应用教程(第二版)第2章 数据库建模ER图属性的类型属性的类型l简单属性就是不能再划分为更小部分的属性简单属性就是不能再划分为更小部分的属性 l复合属性是可以继续划分为更小部分的属性复合属性是可以继续划分为更小部分的属性 l对于实体集中的属性,如果对一个特定的实体,只有一个对于实体集中的属性,如果对一个特定的实体,只有一个单独的取值与其对应,则称该属性为单值属性。单独的取值与其对应,则称该属性为单值属性。 l如果对某

8、个特定实体而言,一个属性可能对应一组值,那如果对某个特定实体而言,一个属性可能对应一组值,那么这种属性称为多值属性。么这种属性称为多值属性。 lNULL属性就是当实体在某个属性上没有值时使用属性就是当实体在某个属性上没有值时使用NULL值。值。NULL值的含义是没有意义或丢失或不知道是否有意值的含义是没有意义或丢失或不知道是否有意义。义。 l派生属性的取值可以从别的相关属性或实体中派生出来,派生属性的取值可以从别的相关属性或实体中派生出来,这些相关属性称为基属性或存储属性。这些相关属性称为基属性或存储属性。 8数据库系统原理与应用教程(第二版)第2章 数据库建模ER图联系集联系集 l联系就是表

9、示多个实体联系就是表示多个实体之间的相互关联。之间的相互关联。l联系集是指同类联系的联系集是指同类联系的集合。集合。 l多个实体集之间的关联多个实体集之间的关联称为参与,也就是说,称为参与,也就是说,实体集实体集E1,E2,En参与联系集参与联系集R。 l为了方便地表示联系集为了方便地表示联系集涉及的实体集的数量,涉及的实体集的数量,使用度来表示与某个联使用度来表示与某个联系集相关的实体集的数系集相关的实体集的数量。量。 9数据库系统原理与应用教程(第二版)第2章 数据库建模ER图联系集中的角色联系集中的角色 l实体在联系中的作用称为角色。一般来说,参与实体在联系中的作用称为角色。一般来说,参

10、与一个联系集的实体集是互异的,因而角色是隐含一个联系集的实体集是互异的,因而角色是隐含的,没有必要声明。的,没有必要声明。l当联系的含义需要解释时角色的概念就有了实际当联系的含义需要解释时角色的概念就有了实际的意义,这时参与联系集的实体集并非互异。也的意义,这时参与联系集的实体集并非互异。也就是说,在一个联系集中,同一个实体集参与的就是说,在一个联系集中,同一个实体集参与的次数超过一次时,则每一次参与都具有不同的角次数超过一次时,则每一次参与都具有不同的角色。在这种情况下,需要显式使用角色名来定义色。在这种情况下,需要显式使用角色名来定义一个实体参与联系实例的方式。一个实体参与联系实例的方式。

11、 10数据库系统原理与应用教程(第二版)第2章 数据库建模ER图联系集中的属性联系集中的属性 l就像实体集中的属性一样,联系集中也可以包含就像实体集中的属性一样,联系集中也可以包含描述性属性。描述性属性。l例如,在实体集例如,在实体集books和和authors之间的联系集之间的联系集writeBook中,可以包含属性中,可以包含属性begin_date,表示,表示作者开始写作本图书的日期。这时,图书基督作者开始写作本图书的日期。这时,图书基督山伯爵对应的实体和作者大仲马对应的实体之山伯爵对应的实体和作者大仲马对应的实体之间的联系写作间的联系写作writeBook,可以使用,可以使用(begi

12、n_date, 1881-08-05)来描述,表示大仲马来描述,表示大仲马于于1881年年8月月5日开始写作基督山伯爵一书。日开始写作基督山伯爵一书。11数据库系统原理与应用教程(第二版)第2章 数据库建模ER图ER图的图元图的图元 12数据库系统原理与应用教程(第二版)第2章 数据库建模ER图绘制绘制ER图图 l对于联系集来说,可以是多对多、一对多、多对一、一对对于联系集来说,可以是多对多、一对多、多对一、一对一等类型。为了将这些类型的联系集区别开来,在联系集一等类型。为了将这些类型的联系集区别开来,在联系集和实体集之间使用箭头或使用线段。和实体集之间使用箭头或使用线段。 13数据库系统原理

13、与应用教程(第二版)第2章 数据库建模ER图主要内容主要内容2.1 ER图的基本概念图的基本概念 2.2 ER图设计原则图设计原则 2.3 对约束建模对约束建模 2.4 弱实体集弱实体集 2.5 ER图的高级技术图的高级技术 2.6 本章小结本章小结 14数据库系统原理与应用教程(第二版)第2章 数据库建模ER图2.2 ER图设计原则图设计原则l前面我们对实体集、联系集以及它们的属性进行前面我们对实体集、联系集以及它们的属性进行了详细的研究。但是,实体集和联系集的概念并了详细的研究。但是,实体集和联系集的概念并不是特别的准确,而且在定义实体和实体之间的不是特别的准确,而且在定义实体和实体之间的

14、联系时往往有多种方法。联系时往往有多种方法。l在设计在设计ER图时必须遵询一定的原则,这些原则包图时必须遵询一定的原则,这些原则包括:括:真实性原则真实性原则避免冗余原则避免冗余原则简单性原则简单性原则合适性原则,其中合适性原则包括确定合适的实体集合适性原则,其中合适性原则包括确定合适的实体集和属性原则和确定合适的实体集和联系集原则。和属性原则和确定合适的实体集和联系集原则。 15数据库系统原理与应用教程(第二版)第2章 数据库建模ER图真实性原则真实性原则 l在使用在使用ER图描述客观现实时,这种描述必须是真图描述客观现实时,这种描述必须是真实的。也就是说,实的。也就是说,ER图必须真实地反

15、映出客观世图必须真实地反映出客观世界的状况。真实是建立描述客观现实的基础,是界的状况。真实是建立描述客观现实的基础,是成功的前提。成功的前提。l例如,实体集例如,实体集books包括了属性包括了属性title、isbn、page、type、year和和price,这是因为我们在实,这是因为我们在实际中知道,一本图书确实可以使用这些属性来描际中知道,一本图书确实可以使用这些属性来描述。述。 l除了在确定实体集的属性时遵循真实性原则之外,除了在确定实体集的属性时遵循真实性原则之外,在确认实体集之间的联系时,仍然要遵循真实性在确认实体集之间的联系时,仍然要遵循真实性原则。原则。 16数据库系统原理与

16、应用教程(第二版)第2章 数据库建模ER图避免冗余原则避免冗余原则 l避免冗余原则是数据库设计的一个非常重要、非避免冗余原则是数据库设计的一个非常重要、非常复杂、也是非常基本的原则,其本质就是对客常复杂、也是非常基本的原则,其本质就是对客观现实的一个事物进行设计时只能出现在一个地观现实的一个事物进行设计时只能出现在一个地方。方。l例如,我们介绍了实体集例如,我们介绍了实体集books和实体集和实体集authors和它们之间的联系集和它们之间的联系集writeBook假设,现在在实假设,现在在实体集体集books中增加一个属性中增加一个属性author_of_book,这,这种增加是完全可以轻易

17、实现的,但是这种做法可种增加是完全可以轻易实现的,但是这种做法可能会带来许多可怕的后果:存储空间过大、修改能会带来许多可怕的后果:存储空间过大、修改异常。异常。17数据库系统原理与应用教程(第二版)第2章 数据库建模ER图简单性原则简单性原则 l客观现实往往是非常复杂的,模型既是对客观现实的反映,客观现实往往是非常复杂的,模型既是对客观现实的反映,又是对客观现实的简化。作为描述客观现实实体集和实体又是对客观现实的简化。作为描述客观现实实体集和实体集之间联系集的集之间联系集的ER图也是如此。图也是如此。lER图的简单性原则就是保证在设计图的简单性原则就是保证在设计ER图时,避免引入过图时,避免引

18、入过多的元素,这些元素包括实体集、联系集和属性。多的元素,这些元素包括实体集、联系集和属性。 18数据库系统原理与应用教程(第二版)第2章 数据库建模ER图恰当性原则:用实体集还是用属性恰当性原则:用实体集还是用属性 l经常会碰到选择实体集还是选择属性的问题。经常会碰到选择实体集还是选择属性的问题。l一般地,使用属性比使用实体集更加简单,但是一般地,使用属性比使用实体集更加简单,但是让一切事物都表示成属性也会带来许多麻烦。让一切事物都表示成属性也会带来许多麻烦。 l在实体集在实体集authors中,包括了中,包括了id、name和和birthplace三个属性。三个属性。 l出生地出生地bir

19、thplace显然可以作为一个单独的实体显然可以作为一个单独的实体集集 l把属性把属性name看成一个实体集,那么是否可行呢?看成一个实体集,那么是否可行呢? 19数据库系统原理与应用教程(第二版)第2章 数据库建模ER图恰当性原则:用实体集还是用联系恰当性原则:用实体集还是用联系集集 l在设计在设计ER图时,还会碰到这样的问题,是使用实图时,还会碰到这样的问题,是使用实体集呢,还是使用联系集呢?体集呢,还是使用联系集呢?l这个问题没有明确的答案,关键是具体情况具体这个问题没有明确的答案,关键是具体情况具体分析分析l虽然说,某一个客观对象的描述是使用实体集还虽然说,某一个客观对象的描述是使用实

20、体集还是使用联系集不是非常清楚的,但是在确定使用是使用联系集不是非常清楚的,但是在确定使用实体集还是使用联系集时可以遵循的一个原则是:实体集还是使用联系集时可以遵循的一个原则是:当描述发生在实体集之间的行为时,最好采用联系集。当描述发生在实体集之间的行为时,最好采用联系集。该原则对于决定是使用属性还是使用联系集时也同样该原则对于决定是使用属性还是使用联系集时也同样适用。适用。20数据库系统原理与应用教程(第二版)第2章 数据库建模ER图主要内容主要内容2.1 ER图的基本概念图的基本概念 2.2 ER图设计原则图设计原则 2.3 对约束建模对约束建模 2.4 弱实体集弱实体集 2.5 ER图的

21、高级技术图的高级技术 2.6 本章小结本章小结 21数据库系统原理与应用教程(第二版)第2章 数据库建模ER图2.3 对约束建模对约束建模l前面,我们已经学习了如何使用实体集、联系集、属性来前面,我们已经学习了如何使用实体集、联系集、属性来建立客观对象的模型,但是客观对象的某些方面的信息单建立客观对象的模型,但是客观对象的某些方面的信息单靠使用前面学习过的知识是不能在模型中表达的,这些信靠使用前面学习过的知识是不能在模型中表达的,这些信息就是对客观对象的约束。息就是对客观对象的约束。l约束就是对客观对象的属性和关系的取值范围进行限制的约束就是对客观对象的属性和关系的取值范围进行限制的手段。在手

22、段。在ER图中的约束建模就是指在绘制的图中的约束建模就是指在绘制的ER图中表达图中表达出这些限制信息。出这些限制信息。l在在ER图中,需要建立的约束模型包括:图中,需要建立的约束模型包括:映射约束映射约束(mapping constraints)键码约束键码约束(keys constraints)参照完整性约束参照完整性约束(reference integrity constraints)域约束域约束(domain constraints)一般性约束一般性约束(general constraints)22数据库系统原理与应用教程(第二版)第2章 数据库建模ER图映射约束映射约束 l映射约束就是

23、指一个实体映射约束就是指一个实体集中的实体通过联系集可集中的实体通过联系集可以同另一个实体集相联系以同另一个实体集相联系的实体数量。的实体数量。l映射约束既可以描述涉及映射约束既可以描述涉及多个实体集的联系集,也多个实体集的联系集,也可以只是涉及联系两个实可以只是涉及联系两个实体集的联系集。体集的联系集。l这里主要研究涉及两个实这里主要研究涉及两个实体集的二元联系集体集的二元联系集 23数据库系统原理与应用教程(第二版)第2章 数据库建模ER图实体集中的键码约束实体集中的键码约束l超键码是一个或多个属性的集合,这些属性的组合可以使超键码是一个或多个属性的集合,这些属性的组合可以使人们在一个实体

24、集中唯一地标识一个实体。人们在一个实体集中唯一地标识一个实体。l对于一个实体集,通常会有多个超键码。对于一个实体集,通常会有多个超键码。l我们只是对一部分超键码感兴趣,即对于那些任意的真子我们只是对一部分超键码感兴趣,即对于那些任意的真子集都不能成为超键码的超键码感兴趣,这种超键码就是我集都不能成为超键码的超键码感兴趣,这种超键码就是我们寻找的目标,这里称为键码。们寻找的目标,这里称为键码。 l在一个实体集中,可能会同时存在多个键码。在一个实体集中,可能会同时存在多个键码。 l在实体中,键码的确定通常根据客观现实的情况。在实体中,键码的确定通常根据客观现实的情况。 l在数据库的设计中,用来在实

25、体集中区分不同实体的键码在数据库的设计中,用来在实体集中区分不同实体的键码称为主键码称为主键码(primary key)。在。在ER图中,主键码包括的属图中,主键码包括的属性以下划线标示性以下划线标示 24数据库系统原理与应用教程(第二版)第2章 数据库建模ER图联系集中的键码约束联系集中的键码约束l如果某一个联系集如果某一个联系集R涉及实体集涉及实体集E1, E2, , En,而,而primaryKey(Ei)代表构成实体集代表构成实体集Ei的主键码的属性的集合。的主键码的属性的集合。l与联系集键码相关的属性构成包括两个部分,一部分是与与联系集键码相关的属性构成包括两个部分,一部分是与联系集

26、相关的属性的结构,另一部分是与联系集相关的实联系集相关的属性的结构,另一部分是与联系集相关的实体集的主键码集合。体集的主键码集合。 l联系集的主键码的构成还依赖于联系集的映射约束。如果联系集的主键码的构成还依赖于联系集的映射约束。如果联系集联系集R是多对多关系,那么联系集是多对多关系,那么联系集R的主键码由与该联的主键码由与该联系集相关的所有实体集的主键码共同组成。系集相关的所有实体集的主键码共同组成。 l如果联系集是多对一关系或一对多关系,则联系集的主键如果联系集是多对一关系或一对多关系,则联系集的主键码由码由“多多”方实体集的主键码组成。方实体集的主键码组成。l如果联系集的关系是一对一,则

27、两个实体集的两个主键码如果联系集的关系是一对一,则两个实体集的两个主键码中的任意一个都可以作为联系集的主键码。中的任意一个都可以作为联系集的主键码。 25数据库系统原理与应用教程(第二版)第2章 数据库建模ER图参照完整性约束参照完整性约束 l参照完整性约束也是一种非常重要的约束参照完整性约束也是一种非常重要的约束形式,这种约束有时也称为存在依赖约束。形式,这种约束有时也称为存在依赖约束。如果实体集如果实体集x的存在依赖于实体集的存在依赖于实体集y的存在,的存在,那么就说实体集那么就说实体集x参照依赖于实体集参照依赖于实体集y,或,或者说实体集者说实体集x存在依赖于实体集存在依赖于实体集y。这

28、时,。这时,实体集实体集y称为主实体集或支配实体集,实体称为主实体集或支配实体集,实体集集x称为参照实体集或从属实体集。称为参照实体集或从属实体集。l在在ER图中,使用圆箭头表示这种参照完整图中,使用圆箭头表示这种参照完整性约束。性约束。 26数据库系统原理与应用教程(第二版)第2章 数据库建模ER图其他类型的约束其他类型的约束 l域约束域约束(domain constrains)就是把属性的取值限制在一个就是把属性的取值限制在一个有限的集合内。一般地,在有限的集合内。一般地,在ER图上,不表示出这种域约图上,不表示出这种域约束形式,但是可以在束形式,但是可以在ER图旁边注明这些域约束的内容。

29、图旁边注明这些域约束的内容。 l一般性约束就是指在数据库中应该满足的其他条件。例如,一般性约束就是指在数据库中应该满足的其他条件。例如,我们可以要求在每一本图书中,列出的作者数量不能超过我们可以要求在每一本图书中,列出的作者数量不能超过5个。在个。在ER图中,我们可以把一个极限数据附在联系集和图中,我们可以把一个极限数据附在联系集和实体集的连线旁边,表明限制与有关实体集的任何一个实实体集的连线旁边,表明限制与有关实体集的任何一个实体相连的实体数量。体相连的实体数量。 l另外,我们可以把另外,我们可以把ER图中的表示联系图中的表示联系“少少”方的箭头看方的箭头看作是作是“1”的约束形式,而把表示

30、参照完整性约束的圆的约束形式,而把表示参照完整性约束的圆箭头看作是箭头看作是“=1”的约束形式。的约束形式。 27数据库系统原理与应用教程(第二版)第2章 数据库建模ER图主要内容主要内容2.1 ER图的基本概念图的基本概念 2.2 ER图设计原则图设计原则 2.3 对约束建模对约束建模 2.4 弱实体集弱实体集 2.5 ER图的高级技术图的高级技术 2.6 本章小结本章小结 28数据库系统原理与应用教程(第二版)第2章 数据库建模ER图2.4 弱实体集弱实体集l在描述实体的过程中,存在这种现象,即在描述实体的过程中,存在这种现象,即在组成一个实体集键码的属性中,一部分在组成一个实体集键码的属

31、性中,一部分或所有属性都来自另外一个实体集。这种或所有属性都来自另外一个实体集。这种实体集就称为弱实体集实体集就称为弱实体集(weak entities ),另,另外的实体集可以称为强实体集外的实体集可以称为强实体集(strong entities )。29数据库系统原理与应用教程(第二版)第2章 数据库建模ER图弱实体集产生的原因弱实体集产生的原因 l第一,实体集具有层次结构;第一,实体集具有层次结构;l第二,实体集来源于连接实体集。第二,实体集来源于连接实体集。30数据库系统原理与应用教程(第二版)第2章 数据库建模ER图对弱实体集的要求对弱实体集的要求 l在选择弱实体集的键码属性时,必须

32、经过慎重的选择,也就是说这些在选择弱实体集的键码属性时,必须经过慎重的选择,也就是说这些键码属性、强实体集等必须满足一定的条件。键码属性、强实体集等必须满足一定的条件。l例如,如果例如,如果U是一个弱实体集,那么每一个为该弱实体集提供一个或是一个弱实体集,那么每一个为该弱实体集提供一个或多个键码属性的实体集多个键码属性的实体集V必须通过联系集必须通过联系集R与该弱实体集相连。与该弱实体集相连。l下面总结了一些对这种弱实体集的一些要求:下面总结了一些对这种弱实体集的一些要求:第一,联系集第一,联系集R必须是从实体集必须是从实体集U到实体集到实体集V的二元的多对一或一对一的的二元的多对一或一对一的

33、联系。联系。第二,实体集第二,实体集V为弱实体集为弱实体集U提供的键码属性必须是实体集提供的键码属性必须是实体集V的键码属性。的键码属性。第三,如果第三,如果V本身也是弱实体集,那么弱实体集本身也是弱实体集,那么弱实体集V提供给弱实体集提供给弱实体集U的键的键码属性可能是通过多对一或一对一的联系集与码属性可能是通过多对一或一对一的联系集与V关联的某个实体集关联的某个实体集W的键的键码属性。码属性。第四,如果从弱实体集第四,如果从弱实体集U到实体集到实体集V有多个多对一或一对一的联系,那么有多个多对一或一对一的联系,那么每一个联系都可能使用由实体集每一个联系都可能使用由实体集V的键码属性构成弱实

34、体集的键码属性构成弱实体集U的键码属性。的键码属性。31数据库系统原理与应用教程(第二版)第2章 数据库建模ER图弱实体集的表示方法弱实体集的表示方法 l第一,关于弱实体集的表示方法。如果某一个实体集是弱第一,关于弱实体集的表示方法。如果某一个实体集是弱的,则在的,则在ER图中使用双边矩形表示,图图中使用双边矩形表示,图2-25中的中的Dept、图图2-26中的中的districts和图和图2-27中的中的contracts都是弱实体都是弱实体集。集。l第二,关于与弱实体集关联的联系集的表示方法。如果一第二,关于与弱实体集关联的联系集的表示方法。如果一个实体集是弱的,那么与该弱实体集相连且提供

35、键码属性个实体集是弱的,那么与该弱实体集相连且提供键码属性的其他实体集的联系集使用双边菱形表示。图的其他实体集的联系集使用双边菱形表示。图2-25、2-26和和2-27中的联系集都使用了双边菱形。中的联系集都使用了双边菱形。l第三,关于弱实体集的属性。如果弱实体集本身的属性是第三,关于弱实体集的属性。如果弱实体集本身的属性是键码的组成部分,那么在这些属性下面加下划线。在图键码的组成部分,那么在这些属性下面加下划线。在图2-25中,弱实体集中,弱实体集Dept的名称属性的名称属性name是弱实体集键码的是弱实体集键码的组成部分。组成部分。32数据库系统原理与应用教程(第二版)第2章 数据库建模E

36、R图主要内容主要内容2.1 ER图的基本概念图的基本概念 2.2 ER图设计原则图设计原则 2.3 对约束建模对约束建模 2.4 弱实体集弱实体集 2.5 ER图的高级技术图的高级技术 2.6 本章小结本章小结 33数据库系统原理与应用教程(第二版)第2章 数据库建模ER图2.5 ER图的高级技术图的高级技术l前面讨论了前面讨论了ER图的基本技术,这些基本技图的基本技术,这些基本技术足够满足一般用户绘制术足够满足一般用户绘制ER图的需要。但图的需要。但是,通过对是,通过对ER图的更高一层的研究,可以图的更高一层的研究,可以更加恰当地描述客观现实的某些特征。更加恰当地描述客观现实的某些特征。l这

37、些这些ER图的高级技术包括:图的高级技术包括:特殊化技术特殊化技术概括技术概括技术属性继承技术属性继承技术聚集技术聚集技术34数据库系统原理与应用教程(第二版)第2章 数据库建模ER图特殊化技术特殊化技术 l每一类书都可以通过由每一类书都可以通过由实体集实体集books的所有属的所有属性和一些附加的属性所性和一些附加的属性所构成的属性集合来描述。构成的属性集合来描述。l例如,例如,romance实体集实体集可以通过描述主人公的可以通过描述主人公的属性属性role来进一步地描来进一步地描述,而述,而courtroom实体实体集则通过描述结局的属集则通过描述结局的属性性ending来进一步地描来进

38、一步地描述。述。l这种在实体集内部进行这种在实体集内部进行分组的过程称为特殊化分组的过程称为特殊化技术。技术。35数据库系统原理与应用教程(第二版)第2章 数据库建模ER图概括技术概括技术 l概括技术就是指确定高层实体集与一个或多个低层实体集概括技术就是指确定高层实体集与一个或多个低层实体集之间的包含关系。之间的包含关系。 l概括技术是特殊化技术的逆过程。在设计概括技术是特殊化技术的逆过程。在设计ER图时,一般图时,一般配合使用这两种技术。配合使用这两种技术。l在在ER图中,对概括技术和特殊化技术的表示不加区别。图中,对概括技术和特殊化技术的表示不加区别。l概括技术的出发点和达到的目标与特殊化

39、技术不同。概括概括技术的出发点和达到的目标与特殊化技术不同。概括技术基于这种认识,即一些实体集具有共同的特征。利用技术基于这种认识,即一些实体集具有共同的特征。利用概括技术,就可以在这些具有共性的实体集的基础上综合概括技术,就可以在这些具有共性的实体集的基础上综合成一个高层实体集。成一个高层实体集。l概括主要是强调低层实体集之间区别背后的相似性。概括主要是强调低层实体集之间区别背后的相似性。 36数据库系统原理与应用教程(第二版)第2章 数据库建模ER图属性继承技术属性继承技术 l在前面提到的特殊化技术和概括技术中,所产生在前面提到的特殊化技术和概括技术中,所产生的高层实体集和低层实体集的一个

40、重要特性是属的高层实体集和低层实体集的一个重要特性是属性继承技术。高层实体集的属性可以被低层实体性继承技术。高层实体集的属性可以被低层实体集所继承。集所继承。 l对于对于ER图中的某个特定部分,无论是通过特殊化图中的某个特定部分,无论是通过特殊化技术还是通过概括技术得到,其结果都是一样的,技术还是通过概括技术得到,其结果都是一样的,即都遵守这种原则:同高层实体集相联系的所有即都遵守这种原则:同高层实体集相联系的所有属性和联系也适用于它的所有低层实体集中;低属性和联系也适用于它的所有低层实体集中;低层实体集特有的性质仅仅适用于某个特定的低层层实体集特有的性质仅仅适用于某个特定的低层实体集。实体集

41、。37数据库系统原理与应用教程(第二版)第2章 数据库建模ER图概括约束设计概括约束设计 l为了更加准确地建立数据库模型,可以有选择地在为了更加准确地建立数据库模型,可以有选择地在ER图图中特定的概括上加上一些约束。这些约束包括成员资格约中特定的概括上加上一些约束。这些约束包括成员资格约束、多重性约束和全部性约束。束、多重性约束和全部性约束。l第一类概括约束是成员资格约束,用来确定哪些实体可以第一类概括约束是成员资格约束,用来确定哪些实体可以成为指定低层实体集的成员,成员资格既可以是条件定义成为指定低层实体集的成员,成员资格既可以是条件定义的,也可以是用户定义的。的,也可以是用户定义的。l第二

42、类概括约束是多重性约束,用来确定在同一个概括中,第二类概括约束是多重性约束,用来确定在同一个概括中,一个实体是否可以属于多个低层实体集。这时,低层实体一个实体是否可以属于多个低层实体集。这时,低层实体集既可以是不相交的,也可以是有重叠的。集既可以是不相交的,也可以是有重叠的。l第三类概括性约束是全部性约束,用来确定高层实体集中第三类概括性约束是全部性约束,用来确定高层实体集中的一个实体是否必须属于某个概括的至少一个低层实体集。的一个实体是否必须属于某个概括的至少一个低层实体集。这种约束既可以是全部的,也可以是部分的。这种约束既可以是全部的,也可以是部分的。 38数据库系统原理与应用教程(第二版)第2章 数据库建模ER图聚集技术聚集技术 l聚集是一种抽聚集是一种抽象,通过这种象,通过这种抽象,可以把抽象,可以把联系看成高层联系看成高层实体。实体。 39数据库系统原理与应用教程(第二版)第2章 数据库建模ER图主要内容主要内容2.1 ER图的基本概念图的基本概念 2.2 ER图设计原则图设计原则 2.3 对约束建模对约束建模 2.4 弱实体集弱实体集 2.5 ER图的高级技术图的高级技术 2.6 本章小结本章小结 40

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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