知识卡片
E-R图集成时的三类冲突:属性/命名/结构冲突
内容
当一个大系统被拆成多个局部应用分别设计各自的分E-R图、再合并成一张 全局E-R图时,几乎必然会遇到不同局部应用对同一份现实的描述不一致的 问题,这些冲突按性质分三类,各自的解法也不同。属性冲突指同一个属性 在不同局部应用里的类型、取值范围或计量单位不一致(如年龄有的用出生 日期表示、有的用整数表示;平均成绩有的用百分制、有的用等级制), 解法主要靠协商统一到同一种表示方式。命名冲突分两种方向相反的情况: 同名异义是不同的东西在不同局部应用里被起了相同的名字,异名同义是 同一个东西在不同局部应用里被起了不同的名字,两者都靠协商消歧来解决。 结构冲突是最复杂的一类,又细分三种:同一个对象在一个局部应用里被 当作实体、在另一个局部应用里被当作属性(如”班长”有时是学生的一个 子类实体、有时只是学生的一个身份属性),解法是统一其中一种抽象方式; 同一实体在不同分E-R图里的属性组成不完全一致,解法是取属性的并集; 以及联系的元数或二元联系的类型在不同分E-R图里不一致,需要依据实际 业务语义综合判断该按哪种类型合并。这三类冲突从”值怎么表示”到”叫什么 名字”再到”该被当成什么”,反映的是分歧从表层逐步深入到建模决策本身 的过程,越往后越难靠简单规则自动解决,越依赖设计人员对业务语义的 理解。
参考来源
- 位置:《数据库原理(微课版)》第6章《数据库设计》6.3.3节"E-R图的设计"
(源文件:_epub-src/index_split_004.html)
- 结论依据:原文明确"各分E-R图之间的冲突主要有三类,分别是属性冲突、
命名冲突和结构冲突……属性冲突包括属性域冲突和属性取值单位冲突……
命名冲突包括同名异义和异名同义……结构冲突包括三类:一是同一对象在
不同应用中具有不同的抽象……二是同一实体在不同分E-R图中所包含的
属性组成不一致……三是联系的元组和二元联系的类型在不同的分E-R图中
有所不同",因此可以推出三类冲突的具体内容及处理方式。
- 原始内容:各分E-R图之间的冲突主要有三类,分别是属性冲突、命名冲突
和结构冲突……同名异义是指不同意义的对象在不同的局部应用中具有相同
的名字。异名同义是指同一意义的对象在不同的局部应用中具有不同的名字。