首页 > 知识点讲解
       E-R模型
知识路径: > 数据库技术 > 数据库技术基础 > 数据库模型 > 数据库模型的分类 > 数据模型 > 
被考次数:22次     被考频率:高频率     总体答错率:43%     知识难度系数:     
考试要求:掌握      相关知识点:9个      
        概念模型是对信息世界建模,所以概念模型能够方便、准确地表示信息世界中的常用概念。概念模型有很多种表示方法,其中最为常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity Relationship Approach)。该方法用E-R图来描述现实世界的概念模型,称为实体-联系模型(Entity-Relationship Model,E-R模型)。
        E-R模型是软件工程设计中的一个重要方法,在数据库设计中,常用E-R模型来描述现实世界到信息世界的问题。因为它接近于人的思维方式,容易理解并且与计算机无关,所以用户容易接受,是用户和数据库设计人员交流的语言。但是,E-R模型只能说明实体间的语义联系,还不能进一步地详细说明数据结构。在解决实际应用问题时,通常应该先设计一个E-R模型,然后再把其转换成计算机能接受的数据模型。
               E-R方法
               概念模型中最常用的方法为实体-联系方法,简称E-R方法。该方法直接从现实世界中抽象出实体和实体间的联系,然后用非常直观的E-R图来表示数据模型。在E-R图中有下表所示的几个主要构件。
               
               E-R图中的主要构件
               在E-R图中,实体集中作为主码(或主键)的一部分属性名下面加下画线标明。另外,在实体集与联系的线段上标注联系的类型。
               需要说明的是在本书中,若不引起误解,实体集有时简称实体,联系集有时简称联系。
               实体
               从上表中可见,在E-R模型中实体用矩形表示,通常矩形框内写明实体名。实体是现实世界中可以区别于其他对象的“事件”或“物体”。例如,企业中的每个人都是一个实体。每个实体由一组特性(属性)来表示,其中的某一部分属性可以唯一标识实体,如职工号。实体集是具有相同属性的实体集合,例如,学校所有教师具有相同的属性,因此教师的集合可以定义为一个实体集;学生具有相同的属性,因此学生的集合可以定义为另一个实体集。
               联系
               在E-R模型中,联系用菱形表示,如上表所示。通常可在菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标注上联系的类型(1:1、1:*或*:*)。实体的联系分为实体内部的联系和实体与实体之间的联系。实体内部的联系反映数据在同一记录内部各字段间的联系。
                      两个不同实体之间的联系
                      两个实体之间的联系可分为3类:一对一联系记为1:1,一对多联系记为1:*(或1:n),多对多联系记为*:*(或mn)。
                      (1)1:1。如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之对应,反之亦然,则称A与B具有一对一联系。
                      (2)1:*。如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之对应;反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之对应,则称A与B具有一对多联系。
                      (3)*:*。如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之对应;反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之对应,则称A与B具有多对多联系。
                      例如,下图表示两个不同实体集之间的联系,其含义如下:
                      
                      两个不同实体集之间的联系
                      上图(a)所示的E-R图表示:电影院里一个座位只能坐一个观众,因此观众与座位之间是一个1:1的联系,联系名为“V_S”。
                      上图(b)所示的E-R图表示:部门DEPT和职工EMP实体集,若一个职工只能属于一个部门,那么,这两个实体集之间应是一个1:*的联系,联系名为“D_E”。
                      上图(c)所示的E-R图表示:工程项目PROJ和职工EMP实体集,若一个职工可以参加多个项目,一个项目可以由多个职工参加,那么,这两个实体集之间应是一个*:*的联系,联系名为“PR_E”。
                      两个以上不同实体集之间的联系
                      两个以上不同实体集之间存在1:1:1、1:1:*、1:*:*和*:*:*的联系。例如,下图表示了三个不同实体集之间的联系。
                      
                      三个不同实体集之间的联系
                      上图(a)表示供应商Supp、项目Proj和零件Part之间的多对多(*:*:*)的联系,联系名为“SP_P”。表示供应商为多个项目供应多种零件,每个项目可用多个供应商供应的零件,每种零件可由不同的供应商供应的语义。
                      上图(b)表示病房、病人和医生之间的一对多对多(1:*:*)的联系,联系名为“P_D”。表示一个特护病房有多个病人和多个医生,一个医生只负责一个病房,一个病人只属于一个病房的语义。
                      注意:三个实体集之间的多对多的联系和三个实体集两两之间的多对多的联系的语义是不同的。例如,供应商和项目实体集之间的“合同”联系,表示供应商为哪几个工程签了合同。供应商与零件两个实体集之间的“库存”联系,表示供应商库存零件的数量。项目与零件两个实体集之间的“组成”联系,表示一个项目有哪几种零件组成。
                      同一实体集内的二元联系
                      同一实体集内的各实体之间也存在1:1、1:*和*:*的联系,如下图所示。从图中可见,职工实体集中的领导与被领导联系是1:*的,如下图(a)所示。但是,职工实体集中的婚姻联系是1:1的,如下图(b)所示。
                      
                      同一实体集之间的联系
               属性
               属性是实体某方面的特性。例如,职工实体集具有职工号、姓名、年龄、参加工作时间和通信地址等属性。每个属性都有其取值范围,如职工号为0001~9999的4位整型数,姓名为10位的字符串,年龄的取值范围为18~60等。在同一实体集中,每个实体的属性及其域是相同的,但可能取不同的值。E-R模型中的属性有如下分类:
               (1)简单属性和复合属性。简单属性是原子的、不可再分的,复合属性可以细分为更小的部分(即划分为别的属性)。有时用户希望访问整个属性,有时希望访问属性的某个成分,那么在模式设计时可采用复合属性。例如,职工实体集的通信地址可以进一步分为邮编、省、市、街道。若不特别声明,通常指的是简单属性。
               (2)单值属性和多值属性。前面所举的例子中,定义的属性对于一个特定的实体都只有单独的一个值。例如,对于一个特定的职工,只对应一个职工号、职工姓名,这样的属性叫作单值属性。但是,在某些特定情况下,一个属性可能对应一组值。例如,职工可能有0个、1个或多个亲属,那么职工的亲属的姓名可能有多个数目,这样的属性称为多值属性。
               (3)NULL属性。当实体在某个属性上没有值或属性值未知时,使用NULL值。表示无意义或不知道。
               (4)派生属性。派生属性可以从其他属性得来。例如,职工实体集中有“参加工作时间”和“工作年限”属性,那么“工作年限”的值可以由当前时间和参加工作时间得到。这里,“工作年限”就是一个派生属性。
               扩充的E-R模型
               尽管基本的E-R模型是对大多数数据库特征建模,但数据库某些情况下的特殊语义,仅用基本E-R模型无法表达清楚。在这一节中,将讨论扩充的E-R模型,包括弱实体、特殊化、概括和聚集等概念。
                      弱实体
                      在现实世界中有一种特殊的依赖联系,该联系是指某实体是否存在对于另一些实体具有很强的依赖关系,即一个实体的存在必须以另一个实体为前提,而将这类实体称为弱实体。例如某企业职工与家属的联系,家属总是属于某职工的,若某职工离职将其从职工关系中删除,家属也随即删除,那么家属属于“弱实体”,职工与家属之间的“所属”联系属于依赖联系。
                      在扩展的E-R图中,弱实体用双线矩形框表示。下图为职工与家属的E-R图。
                      
                      弱实体与依赖联系
                      特殊化
                      前面已经介绍了,实体集是具有相同属性的实体集合。但在现实世界中,某些实体一方面具有一些共性,另一方面还具有各自的特殊性。这样,一个实体集可以按照某些特征区分为几个子实体。
                      设有实体集E,如果SE的某些真子集的集合,记为,则称SE的一个特殊化,ES1S2、…、Sn的超类,S1S2、…、Sn称为E的子类。
                      如果,则称SE的全特殊化,否则是E的部分特殊化。
                      如果SiSj=Φ,ij,则S是不相交特殊化,否则是重叠特殊化。
                      在扩充的E-R模型中,子类继承超类的所有属性和联系,但是,子类还有自己特殊的属性和联系。超类-子类关系模型使用特殊化圆圈和连线的一般方式来表示。超类到圆圈有一条连线,连线为双线表示全特殊化,连线为单线表示部分特殊化;双竖边矩形框表示子类;有符号“∪”的线表示特殊化;圆圈中的d表示不相交特殊化;圆圈中的o表示重叠特殊化。
                      
                      扩充E-R图中的主要构件
               E-R模型应用举例
               实现该学校教学管理的E-R模型如下图所示。
               
               学校教学管理E-R模型
               特别需要指出的是,E-R模型强调的是语义,与现实世界的问题密切相关。这句话的意思是,尽管都是学校教学管理,但由于不同的学校教学管理的方法可能会有不同的语义,因此会得到不同的E-R模型。
               扩充E-R模型应用举例
               通上述分析,并将得出的各个扩充的分E-R图进行合并,最终得出该高校扩充的E-R图,如下图所示。
               
               特殊化应用实例
 
本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2016年上半年
   数据库系统工程..
   上午试卷 综合知识
第59题
选择题
以下关于扩展E-R图设计的描述中,正确的是(59)。

79%
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有