在概念数据模型上表示外键是否正确?

Zac*_*ach 1 database-design

在概念数据模型上表示外键是否正确,还是应该只在进行关系模型时引入外键?

Wal*_*tty 5

专家们对此意见不一。这是我的意见。

经典的 ER(实体关系)模型识别关系,但没有将它们实现为外键。在 ER 图中,关系显示为框之间的线。额外的标记将它们分类为多对多或多对一,以及强制或可选。关系模型总是使用外键来识别和实现关系。关系模型图将使用框之间的线条进行可视化,但完整的属性列表将包含这些外键。

ER 建模和关系建模之间的另一个区别是,在关系建模中,多对多关系将被表示为一个带有两条(或更多)条线的盒子。在 ER 建模中,二元多对多关系是在没有自己的盒子的情况下建模的。

我总是使用 ER 建模来构建概念模型,而将外键排除在外。然后,在逻辑设计时,我会切换到关系模型并插入外键。此时,多对多关系会获得额外的自己的盒子,以保存一对(或一个元组)外键。

许多专家不遵循我的做法。他们认为 ER 模型对于概念建模来说是多余的,最好从概念级别的关系模型开始,而您仍在进行需求分析。然后您不必在中途切换建模约定。从理论的角度来看,他们是对的。

ER 模型对我有用的地方是向不熟练的客户解释模型。他们中的一些人对 ER 模型比对关系模型有更快的直观理解。