步驟8:刪除與關系模型不相容的特性
在已創建的局部數據模型中,可能存在一些與傳統的關系型數據庫系統不兼容或關系型數據庫系統不便于處理的結構,如:多對多關系、多對多遞歸關系、復雜關系等。在這一步,要將這些數據結構轉換成能被或便于關系型數據庫系統處理的形式。
(1)刪除多對多關系對于多對多關系,要進行分解,并標識一個中間實體,即用兩個一對多關系來代替這個多對多關系,并標識出它們之間的新實體,與多對多關系相關的屬性應該成為這個中間實體的屬性。
例如有兩個實體,用戶組和用戶,每個用戶組可以擁有多個用戶,每個用戶可以屬于多個用戶組,它們之間是多對多關系,可以通過插入一個實體“用戶組的用戶”將這個多對多關系分解為兩個一對多關系。
(2)刪除多對多遞歸關系 對于存在的多對多遞歸關系,要進行分解,并標識一個新實體,方法與刪除多對多關系類似。
首先,將多對多遞歸關系的一個實體描述成兩個實體,使遞歸關系和普通多對多關系一樣,然后引入一個中間實體,分解多對多關系,然后重新組合被分開的實體,注意不要丟失任何關系。
(3)刪除復雜關系復雜關系是三個或更多實體之間的關系。如果邏輯模型中存在這種關系,應該將這種關系分解成多個一對多關系,標識一個中間實體。
對局部邏輯模型進行以上的處理之后,最后還要檢查所有的一對一關系,看這些一對一關系的實體是否表示一個對象,如果是的話,可以將兩個實體合并成一個實體。
通過上面的步驟,可以刪除數據模型中關系數據庫難以實現的數據結構,簡化數據模型。