我试图理解这种情况。ER和mysql的关系模型有什么区别。它看起来更像是关系模型而不是 MySQL 上的实际 ERD,那么为什么将它称为 ER than 呢?
问问题
1262 次
1 回答
2
ER 模型和关系模型不是 MySQL 特定的。它们分别用于概念和逻辑建模。SQL 或 MySQL 特定的模型称为物理模型。
MySQL Workbench(和许多类似工具)中的图表是滥用 ER 术语的物理模型。它允许设计表、列、主键、外键约束和索引。它不像 ER 模型那样区分实体表和关系表,而是将所有表都称为实体,并将关系与外键约束混淆。多亏了这一点,n-ary 关系的概念消失了,用户被引导回网络模型数据库。
它们也不是关系数据模型。它们不捕获逻辑域或角色、功能或多值依赖关系或各种约束。它们不支持依赖保留转换。
ER 和关系模型之间的区别在于,关系模型具有一阶逻辑的全部功能,而 ER 模型更多的是一种配方方法。ER 语义对于未经训练的人来说更熟悉,但会增加额外的复杂性。有一些依赖关系和约束是 ER 无法表示的,它对 3NF 的关注可能会导致数据异常。尽管如此,它对于初始/非正式数据建模以及与业务用户交流想法很有用。
那么,为什么像 MySQL Workbench 中的那些图称为 ER 图呢?我认为这主要是由于缺乏理解和流行语合规性,这两个因素在我们的行业中很普遍。
于 2016-04-05T06:49:39.337 回答