|
知识路径: > 信息系统工程技术知识 > 计算机技术知识与网络知识 > 数据库系统 >
|
被考次数:1次
被考频率:低频率
总体答错率:55%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
相关知识点:28个
|
|
|
|
本知识点主要考查E-R图的画法,各实体之间的关系,如何消除冲突,E-R图向关系模式的转换等。
|
|
|
|
E-R模型(实体联系模型)简称E-R图,它是描述概念世界,建立概念模型的实用工具。E-R图包括如下三个要素。
|
|
|
(1)实体(型):用矩形框表示,框内标注实体名称。
|
|
|
(2)属性:用椭圆形表示,并用连线与实体连接起来。
|
|
|
(3)实体之间的联系:用菱形框表示,框内标注联系名称,并用连线将菱形框分别与有关实体相连,并在连线上注明联系类型。
|
|
|
例如,下图就是一个教学系统的E-R图(为了简单起见,省略了部分实体的属性和联系的属性)。
|
|
|
|
|
|
(1)一对一联系(1:1)。设A、B为两个实体集。若A中的每个实体至多和B中的一个实体有联系,反过来,B中的每个实体至多和A中的一个实体有联系,称A对B或B对A是1:1联系。注意,1:1联系不一定都是一一对应的关系,可能存在着无对应。例如,在上图中,一个班只有一个班主任,一个班主任不能同时在其他班再兼任班主任,由于老师紧缺,某个班的班主任也可能暂缺。
|
|
|
(2)一对多联系(1:n)。如果A实体集中的每个实体可以和B中的几个实体有联系,而B中的每个实体和A中的一个实体有联系,那么A对B属于1:n联系。例如,在上图中,一个班级有多个学生,而一个学生只能编排在一个班级,班级与学生属于一对多的联系。
|
|
|
(3)多对多联系(m:n)。若实体集A中的每个实体可以和B中的多个实体有联系,反过来,B中的每个实体也可以与A中的多个实体有联系,称A对B或B对A是m:n联系。例如,在上图中,一个学生可以选修多门课程,一门课程由多个学生选修,学生和课程间存在多对多的联系。
|
|
|
必须强调指出,有时联系也有属性,这类属性不属于任一实体,只能属于联系。
|
|
|
|
在数据库的概念结构设计过程中,先设计各子系统的局部E-R图,设计过程可分为以下几个步骤:
|
|
|
|
|
|
|
各子系统的局部E-R图设计好后,下一步就是将所有的分E-R图综合成一个系统的总体E-R图,一般称为视图的集成。视图集成通常有两种方式:
|
|
|
(1)多个局部E-R图一次集成。这种方式比较复杂,做起来难度较大。
|
|
|
(2)逐步集成,用累加的方式一次集成两个局部E-R图。这种方式每次只集成两个局部E-R图,可以降低复杂度。
|
|
|
由于各子系统应用所面临的问题不同,且通常是由不同的设计人员进行局部视图设计,这就导致各个局部E-R图之间必定会存在许多不一致的问题,称之为冲突。因此合并分E-R图时并不能简单地将各个局部E-R图画到一起,而是必须着力消除各个局部E-R图中的不一致,以形成一个能为全系统中所有用户共同理解和接受的统一的概念模型。
|
|
|
|
(1)属性冲突。包括属性域冲突和属性取值冲突。属性冲突理论上好解决,只要换成相同的属性就可以了,但实际上需要各部门协商,解决起来并不简单。
|
|
|
(2)命名冲突。包括同名异义和异名同义。处理命名冲突通常也像处理属性冲突一样,通过讨论和协商等行政手段加以解决。
|
|
|
(3)结构冲突。包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。对于前者的解决办法是把属性变换为实体或实体变换为属性,使同一对象具有相同的抽象。对于后者的解决办法是使该实体的属性取各局部E-R图中属性的并集,再适当调整属性的次序。
|
|
|
另外,实体间的联系在不同的局部E-R图中可能为不同的类型,其解决方法是根据应用的语义对实体联系的类型进行综合或调整。
|
|
|
在初步的E-R图中,可能存在一些冗余的数据和实体间冗余的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难,应当予以消除。消除冗余的主要方法为分析方法,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。
|
|
|
|
|
(1)一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码(关键字)就是关系的码。
|
|
|
(2)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选键。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
|
|
|
(3)一个1:n联系可以转换为一个独立的关系模式,也可以与任意n端对应的关系模式合并。如果转换为一个独立的模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。如果与n端实体对应的关系模式合并,则需要在该关系模式的属性中加入1端关系模式的码和联系本身的属性。
|
|
|
(4)一个m:n联系转换为一个独立的关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
|
|
|
(5)三个以上实体间的一个多元联系可以转换为一个独立的关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
|
|
|
|
(1)多值属性的处理。如果E-R图中某实体具有一个多值属性,则应该进行优化,把该属性提升为一个实体。或者在转化为关系模式时,将实体的码与多值属性单独构成一个关系模式。
|
|
|
(2)BLOB型属性的处理。典型的BLOB是一张图片或一个声音文件,由于它们的容量比较大,必须使用特殊的方式来处理。处理BLOB的主要思想就是让文件处理器(如数据库管理器)不去理会文件是什么,而是关心如何去处理它。因此,从优化的角度考虑,应采用的设计方案是将BLOB字段与关系的码独立为一个关系模式。
|
|
|
(3)派生属性的处理。因为派生属性可由其他属性计算得到,因此,在转化成关系模式时,通常不转换派生属性。
|
|
|
(4)在对象-关系数据模型中,本章的“关系模式”就对应“类”,关系模式的属性就对应类的属性。
|
|
|