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