《数据库实体联系模型精品文稿.ppt》由会员分享,可在线阅读,更多相关《数据库实体联系模型精品文稿.ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库实体联系模型第1 页,本讲稿共54 页10.1 E-R模型的基本概念o 实体o属性o联系o约束*2第2 页,本讲稿共54 页E-R模型基本概念o是用于数据库设计的高层概念数据模型。o 概念数据模型用来描述数据库的结构以及有关的在数据库上的检索和更新事务,o独立于任何数据库管理系统和硬件平台。*3第3 页,本讲稿共54 页实体o 是现实世界中独立存在的、可区别于其他对象的“对象”或“事物”。o 是关于将被收集的信息的主要数据对象。o 具有一组属性。o 可以是物理存在的对象:n 人、汽车、商品、职工等;o 也可以是抽象存在的对象:n 公司、企业、工作或感兴趣信息事件*4第4 页,本讲稿共54
2、 页实体与实例o实体(entity set,也称为实体集)是一组具有相同特征或属性的实体的集合。n 比如:学生o 实例是实体中具有相同结构的可区分的对象。n 比如:学生“张三”、“李四”*5第5 页,本讲稿共54 页实体的分类o 强实体(也称为强实体集)n 不依赖于其他实体而存在的实体。n 如:“职工”n 特点:每个实例都能被实体的主键唯一标识。o 弱实体(也称为弱实体集)n 依赖于其他实体而存在的实体。n 如:“职工子女”n 特点:每个实例不能用该实体的属性唯一标识。*6第6 页,本讲稿共54 页强实体与弱实体o 强实体也称为n 父实体n 主实体n 统治实体o 弱实体也称为n 子实体n 依赖
3、实体n 从实体*7第7 页,本讲稿共54 页实体与实例示例实体:职工属性 实例属性名 域 实例1 实例2职工号 长度为6的字符串 Z10001 Z10002姓名 长度为8的字符串 张小平 李红丽性别 长度为2的字符串 男 女出生日期 日期类型 1980-2-5 1976-8-10*8第8 页,本讲稿共54 页10.1.2 联系o 指用户业务中相关的两个或多个实体之间的关联。o表示现实世界的关联关系。o 只依赖于实体间的关联,在物理和概念上是不存在的。o 联系的一个具体值称为联系实例。*9第9 页,本讲稿共54 页联系(续)o 联系实例是可唯一区分的关联,包括每一个参与实体的一个实例,表明特定的
4、实体实例间是相互关联的。o 联系也被看成是抽象对象。o 联系通过连线将相互关联的实体连接起来。o 相似的联系被归到一个联系(也称为联系集或联系型)中。*10第10 页,本讲稿共54 页联系(续)o 一个具体的联系表达了实体之间的一组有意义的关联,n 如“学生”实体和“课程”实体之间存在一个“选课”联系,n 如果学生(081001,张三,男)选了课程(C001,计算机网络),n 则(081001,张三,男)和(C001,计算机网络)之间就存在一个联系实例,n 这个联系实例可表示为(081001,C001,)。*11第1 1 页,本讲稿共54 页联系的特性o 联系的度o连接性o 存在性on元联系*
5、12第12 页,本讲稿共54 页联系的度o指联系中相关联的实体的数量。o一般有n 递归联系或一元联系n 二元联系n 三元联系*13第13 页,本讲稿共54 页递归联系o指同一实体的实例之间的联系。o即:实体中的一个实例只与同一实体中的另一个实例相互关联。o示例:o 参与联系的每一个实例都有特定的角色。o 联系的角色名确定了每个参与者的功能。*14第14 页,本讲稿共54 页二元联系o 指两个实体之间的关联。如:n 部门和职工n 班和学生n 学生和课程o是最常见的联系。*15第15 页,本讲稿共54 页三元联系o 指三个实体之间的关联。o 其联系的度为3。o 用一个与三个实体相连接的菱形表示。*
6、16第16 页,本讲稿共54 页联系的连接性o 描述联系中相关联实体间映射的约束。o 取值为“一”或“多个”。o 例如:实体“部门”和“职工”之间为一对多的联系,即对“职工”实体中的多个实例,在“部门”中至多有一个实例与其关联。o 实际的连接数目称为联系连接的基数。*17第17 页,本讲稿共54 页三种基本二元联系示例*18第18 页,本讲稿共54 页n-元联系o 用具有n个连接的菱形表示,每个连接对应一个实体。*19第19 页,本讲稿共54 页联系的存在性o 指某个实体的存在依赖于其它实体的存在。o联系中实体的存在分为强制和非强制(或可选的)两种。o 强制存在要求联系中任何一端的实体的实例都
7、必须存在。o 非强制存在允许实体的实例可以不存在。*20第20 页,本讲稿共54 页联系的存在性(续)o 在E-R图中,在实体和联系的连线上标表示是非强制存在;o在实体和联系的连线上加一条垂直线表示强制存在;o如果在连线上既没有标也没有加垂直线,则表示存在类型未知。*21第21 页,本讲稿共54 页联系的存在性示例*22第22 页,本讲稿共54 页10.1.3 属性o 实体的特性或联系的特征都称为属性。o 同一个实体中的实例具有相同属性。o例如:“学生”实体的属性有:n 姓名、学号、性别等。o 实体中的每个属性都有取值范围,属性的取值范围称为值域。*23第23 页,本讲稿共54 页属性o 一个
8、属性可由多个值域构成。o 例如:属性“生日”的值域由年、月、日的值域构成。o 多个属性可以共享一个值域,该值域称为属性域。o 属性域的值是一组一个或多个属性所允许的取值。例如,“工人”和“管理员”的“生日”属性可以共享一个属性域。*24第24 页,本讲稿共54 页联系的属性o 联系也可以具有属性。o 通常,只有二元多对多联系和三元联系才具有属性,一对一联系和一对多联系没有属性。*25第25 页,本讲稿共54 页属性分类o简单属性o 复合属性o单值属性o多值属性o派生属性*26第26 页,本讲稿共54 页简单属性o由一个独立成分构成的属性。o不可再分成更小的成分。o也称为原子属性。o实体“学生”
9、中的学号、姓名、性别属性都是简单属性的例子。*27第27 页,本讲稿共54 页复合属性o 由多个独立存在的成分构成的属性。o 有些属性可以划分成更小的独立成分。o 如,设“职工”实体中有“地址”属性,该属性取值形式为“*省*市*区*街道”,则该属性可进一步分解为n 省、市、区、街道n“街道”又可分为街道号、街道名和楼牌号三个简单属性。*28第28 页,本讲稿共54 页复合属性示例*29第29 页,本讲稿共54 页单值属性o若某属性对特定实体中的每个实例都只取一个值,则该属性为单值属性。o如:“学生”实体中每个实例的“学号”属性都只有一个值,则“学号”为单值属性。o 大多数属性都是单值属性。*3
10、0第30 页,本讲稿共54 页多值属性o 若某属性对特定实体中的每个实例可以取多个值,则该属性为多值属性。n 如“职工”的“技能”属性,一个职工可有多项技能:“总体设计”、“程序设计”、“数据库管理”o 可对多值属性的取值范围进行限制。如:限定“技能”的取值为13。o 在E-R图中,用双线圆角矩形表示是多值属性。*31第31 页,本讲稿共54 页派生属性o 派生属性的值是由相关联的属性或属性组派生出来的,这些属性并非来自同一实体。n“职工”实体的“工龄”属性的值可由该职工的“参加工作日期”和当前日期计算得到。o 派生属性的值也可以派生于同一实体中的实例。n“职工”实体的“总人数”属性的值可通过
11、计算“职工”实体中的实例总数获得。o 在E-R图中用虚线的圆角矩形表示是派生属性*32第32 页,本讲稿共54 页标识属性o 能够唯一标识实体中每个实例的属性或属性组。o 用于唯一标识一个实例的属性组称为复合标识符。如:n“职工”实体中的“职工号”n“项目”实体中的“项目号”n“列车”实体中的“车次”和“发车时间”o 在E-R图中用下划线标识。*33第33 页,本讲稿共54 页复合标识符示例*34第34 页,本讲稿共54 页属性示例*35第35 页,本讲稿共54 页联系标识符示例*36第36 页,本讲稿共54 页10.1.4 约束o 联系通常采用特定约束来限制联系集合中的实体组合。o 约束要反
12、映现实世界中对联系的限定。如:n“部门”要求每个部门必须有一个职工n“职工”中的每个人必须有一种技能。o 约束的主要类型:n 多样性约束n 基数约束n 参与约束*37第37 页,本讲稿共54 页多样性约束o 多样性指一个实体所包含的每个实例都通过某种联系与另一个实体的同一实例相关联。o它约束了实体相关联的方式。o是由企业或用户确立的原则或商业规则的一种表示。*38第38 页,本讲稿共54 页基数约束o 指定了一个实体中的实例与另一个实体中的每个实例相关联的数目。o 有最大基数约束和最小基数约束两种。n 最小基数约束指一个实体中的实例与另一个实体中的每个实例相关联的最小数目。n 最大基数约束指一
13、个实体中的实例与另一个实体中的每个实例相关联的最大数目。o 例,设一名职工只管理一个部门,一个部门只由一名职工管理,则“职工”和“部门”之间的基数约束都是1。*39第39 页,本讲稿共54 页1:1联系的基数约束与参与约束示例*40基数约束参与约束第40 页,本讲稿共54 页排除约束o 在排除约束中,对多个关系的通常或默认的处理是包含OR。o OR允许某个实体或全部实体都参与。o 在有些情况下,排除约束(不相交或不包含OR)可能会影响多个关系,它允许在几个实体中最多只有一个实体实例参与到只有一个根实体的联系中。*41第41 页,本讲稿共54 页排除约束示例“工作任务”可以分配到“外部项目”中或
14、者是“内部项目”中,但不能同时分配到这两个实体中。*42第42 页,本讲稿共54 页10.2 E-R模型存在的问题o在构建E-R模型过程中,可能出现连接陷阱的问题。o 连接陷阱通常是由于曲解了某些联系的含义而造成的。o 连接陷阱主要有两类:n 扇形陷阱n 深坑陷阱*43第43 页,本讲稿共54 页扇形陷阱o 当一个实体与其他实体之间存在两个或更多的一对多联系时,可能存在扇形陷阱。o 示例:一个银行有一个或者多个柜台,有一个或者多个人员。想知道在某个特定柜台工作的有哪些人员?*44第44 页,本讲稿共54 页E-R模型的语义图问题:编号为110345的人员在哪个柜台工作?*45第45 页,本讲稿
15、共54 页消除扇形陷阱重建后的E-R模型*46第46 页,本讲稿共54 页消除扇形陷阱后的语义网*47第47 页,本讲稿共54 页深坑陷阱o实体之间存在联系,但某些实例之间却不存在相应的通路。o示例:一个柜台有一个或者多个人员,每个人员可以进行零次或多次贷款查询。o 但不是所有人员都要进行贷款查询,也不是所有的贷款都被查询到。*48第48 页,本讲稿共54 页示例E-R图o问题:每个柜台可以进行哪些贷款查询?联系“操作”两端的“人员”和“贷款”实体的多样性的最小值为零,说明一些贷款不能通过人员与柜台关联。“柜台”和“贷款”实体之间丢失了“提供”联系。*49第49 页,本讲稿共54 页E-R模型的语义图问题:哪个柜台可以进行汽车贷款查询?*50第50 页,本讲稿共54 页消除深坑陷阱重建后的E-R模型*51第51 页,本讲稿共54 页消除深坑陷阱后的语义图*52第52 页,本讲稿共54 页10.3 E-R图符号小结*53第53 页,本讲稿共54 页*54第54 页,本讲稿共54 页