【答案解析】[解析] 在局部E-R图合并(视图集成)时需要解决选项A“不同局部E-R图中出现的相同实体,在总体E-R图中只能出现一次”的问题。
对于选项B“在总体E-R图中可以添加属于不同局部E-R图实体问的联系”是可以在E-R图合并时根据应用需求添加。
对于选项C“在总体E-R图中可以删除在原局部E-R图中存在的联系”是指在局部E-R图合并过程中,可能会出现冗余联系,应当消除。
在局部E-R图合并过程中,可能会出现不同实体间的冗余联系,而这些冗余联系是可以被删除的。因此选项D“在总体E-R图中不能删除任何不同实体间的联系”的说法是错误的。
考点链接7.5.1: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图以局部E-R图看待,合并剩余的局部E-R图,直至所有的E-R图全部合并,就构成一张全局E-R图。
各局部E-R图之间的冲突主要有3类,见表。
各种E-R图转换冲突说明表 类型 | 说明 | 解决办法 | 属性冲突 | 同一属性可能会存在于不同的局部E-R图,由于设计人员不同或是出发点不同,对属性的类型、取值范围、数据单位等可能会不一致 | 需要在设计阶段进行统一,各部门协商解决 | 命名冲突 | 相同意义的属性,在不同的局部E-R图上有着不同的命名,或是名称相同的属性在不同的局部E-R图中代表着不同的意义 | 需要通过讨论或协商等行政手段解决 | 结构冲突 | 同一实体在不同的局部E—R图中有不同的属性,或同一对象在某一局部E-R图中被抽象为实体而在另一局部E-R图中又被抽象为属性 | 同一实体的属性取各局部E-R图中属性的并 集:将属性变换为实体,或将实体变换为属性 | |
局部E-R图的合并过程中要解决以上冲突问题并对其进行优化。例如:
①实体类型的合并。两个具有1:1联系或1:n联系的实体,可以予以合并,使实体个数减少,有利于减少将来数据库操作过程中的连接开销。
②冗余属性的消除。一般在各局部E-R图中的属性是不存在冗余的,但合并后就可能出现冗余。这是因为合并后的E-R图中的实体继承了合并前该实体在分E-R图中的全部属性,属性间就可能存在冗余,即某一属性可以由其他属性确定。
③冗余联系的消除。在局部E-R图合并过程中,可能会出现实体联系的环状结构,即某一实体A与另一实体B之间有直接联系,同时A又通过其他实体与实体B发生间接联系。通常直接联系可以通过间接联系所表达,可消除直接联系。当实体间的联系在不同的局部E-R图有不同的类型时,则应根据应用的语义对实体联系的类型进行综合或调整。