3)檢查關(guān)系的名稱。檢查局部模型中的關(guān)系,看是否存在重復(fù)關(guān)系。一般只有重復(fù)的實體間才會存在重復(fù)關(guān)系。
4)合并來自局部模型的實體。合并的情形有:合并名稱相同、主鍵相同的實體;合并名稱相同、主鍵不同,但候選鍵相同的實體;合并名稱不同的實體。
通常,具有相同主鍵的實體代表相同的對象,應(yīng)該合并。合并后的實體包括初始的實體屬性,刪除重復(fù)的屬性。有些實體具有相同的名稱,相同的候選鍵,但主鍵不同,也應(yīng)該合并成一個實體,選擇一個主鍵。對于名稱不同的實體,主要根據(jù)實體的內(nèi)容來決定是否要進行合并。
5)包含(不合并)每個局部模型的唯一的實體。前面已經(jīng)合并了相同的實體,剩余的實體應(yīng)該都是模型中唯一的實體,不用進行任何改動就可以直接加入全局模型。
6)合并局部模型的關(guān)系。檢查所有關(guān)系的名稱和目標(biāo),先合并名稱相同且目標(biāo)相同的關(guān)系,再合并名稱不同但目標(biāo)相同的關(guān)系。
7)包含(不合并)每個局部模型的唯一的關(guān)系。對于剩下的關(guān)系,不需進行任何改動就可以加入到全局模型中。
8)檢查是否有丟失的實體和關(guān)系。需要注意是否存在不同局部模型中的實體之間的關(guān)系以及它們之間的主、外鍵關(guān)系。
9)檢查外鍵。在構(gòu)造全局邏輯模型的過程中,可能合并了實體和關(guān)系,改變了主鍵,或者標(biāo)識了新的關(guān)系,需要在這一步檢查子實體中的外鍵是否正確。
10)檢查完整性約束。檢查全局邏輯模型的完整性約束是否與每個局部模型的完整性約束沖突,必要時,可以通過與用戶討論來解決問題。
最后可得全局邏輯模型的ER圖。