我试着理解这种情况。对于mysql来说,ER和关系模型有什么区别。它看起来比MySQL上的实际ERD更像是关系模型,那么为什么它被称为ER而不是呢?
发布于 2016-04-05 06:49:39
ER模型和关系模型并不是特定于MySQL的。它们分别用于概念建模和逻辑建模。特定于SQL或MySQL的模型将被称为物理模型。
MySQL工作台中的图表(和许多类似的工具)是滥用ER术语的物理模型。它允许设计表、列、主键、外键约束和索引。它不像ER模型那样区分实体表和关系表,而是调用所有表实体并混淆与外键约束的关系。由于这一点,n-ary关系的想法丢失了,用户又回到了网络模型数据库中。
它们也不是关系数据模型。它们不捕获逻辑域或角色、函数或多值依赖项或各种约束。它们不支持保持依赖的转换。
ER模型和关系模型的区别在于,关系模型具有一阶逻辑的全部威力,而ER模型更像是一种配方方法。未受过训练的人更熟悉ER语义,但增加了额外的复杂性。ER中存在一些不能用ER表示的依赖关系和约束,其对3NF的关注可能导致数据异常。尽管如此,它对于初始/非正式数据建模和与业务用户交流想法还是很有用的。
那么,为什么像MySQL工作台中的那些图被称为ER图呢?我认为这主要是由于缺乏理解和时髦词汇的遵从性,这两个因素在我们这个行业很普遍。
https://stackoverflow.com/questions/36378679
复制相似问题