各個局部應用所面向的問題不同,各個子系統的E-R圖之間必定會存在許多不一致的地方,稱之為沖突。
子系統E-R圖之間的沖突主要有三類:
①屬性沖突
②命名沖突
③結構沖突
①屬性沖突
屬性域沖突,即屬性值的類型、取值范圍或取值集合不同。
例如零件號,有的部門把它定義為整數,有的部門把它定義為字符型。
年齡,某些部門以出生日期形式表示職工的年齡,而另一些部門用整數表示職工的年齡。
屬性取值單位沖突。
例如,零件的重量有的以公斤為單位,有的以斤為單位,有的以克為單位。
②命名沖突
同名異義,即不同意義的對象在不同的局部應用中具有相同的名字。
異名同義(一義多名),即同一意義的對象在不同的局部應用中具有不同的名字。
如對科研項目,財務科稱為項目,科研處稱為課題,生產管理處稱為工程。
命名沖突
可能發生在實體、聯系一級上
也可能發生在屬性一級上
通過討論、協商等行政手段加以解決
③結構沖突
同一對象在不同應用中具有不同的抽象。
例如,職工在某一局部應用中被當作實體,而在另一局部應用中則被當作屬性。
解決方法:把屬性變換為實體或把實體變換為屬性,使同一對象具有相同的抽象。
同一實體在不同子系統的E-R圖中所包含的屬性個數和屬性排列次序不完全相同。
解決方法:使該實體的屬性取各子系統的E-R圖中屬性的并集,再適當調整屬性的次序。
實體間的聯系在不同的E-R圖中為不同的類型。
實體E1與E2在一個E-R圖中是多對多聯系,在另一個E-R圖中是一對多聯系
解決方法是根據應用的語義對實體聯系的類型進行綜合或調整。