3)检查关系的名称。检查局部模型中的关系,看是否存在重复关系。一般只有重复的实体间才会存在重复关系。
4)合并来自局部模型的实体。合并的情形有:合并名称相同、主键相同的实体;合并名称相同、主键不同,但候选键相同的实体;合并名称不同的实体。
通常,具有相同主键的实体代表相同的对象,应该合并。合并后的实体包括初始的实体属性,删除重复的属性。有些实体具有相同的名称,相同的候选键,但主键不同,也应该合并成一个实体,选择一个主键。对于名称不同的实体,主要根据实体的内容来决定是否要进行合并。
5)包含(不合并)每个局部模型的唯一的实体。前面已经合并了相同的实体,剩余的实体应该都是模型中唯一的实体,不用进行任何改动就可以直接加入全局模型。
6)合并局部模型的关系。检查所有关系的名称和目标,先合并名称相同且目标相同的关系,再合并名称不同但目标相同的关系。
7)包含(不合并)每个局部模型的唯一的关系。对于剩下的关系,不需进行任何改动就可以加入到全局模型中。
8)检查是否有丢失的实体和关系。需要注意是否存在不同局部模型中的实体之间的关系以及它们之间的主、外键关系。
9)检查外键。在构造全局逻辑模型的过程中,可能合并了实体和关系,改变了主键,或者标识了新的关系,需要在这一步检查子实体中的外键是否正确。
10)检查完整性约束。检查全局逻辑模型的完整性约束是否与每个局部模型的完整性约束冲突,必要时,可以通过与用户讨论来解决问题。
最后可得全局逻辑模型的ER图。