ER图和EER图的区别

Posted

技术标签:

【中文标题】ER图和EER图的区别【英文标题】:Difference between ER diagram and EER diagram 【发布时间】:2012-04-11 22:58:15 【问题描述】:

ERD(实体关系图)和EERD(增强实体关系图)有什么区别?

【问题讨论】:

Shaki,请接受能解决您问题的答案。这是通过单击答案分数下的复选标记来完成的。 【参考方案1】:

实体-关系模型

你有关系(image source)

和属性 (image source)

也可以是主键 (image source)

增强的实体-关系模型

你有与ER模型一样的加号

专业

分区(多个专业化)

概括

聚合

键的注释不同:

【讨论】:

【参考方案2】:

增强型 ER 模型添加的主要功能是专业化/泛化和联合。在这些 Gen-spec 中,最常出现在 *** 问题的答案中。

Gen-spec 在 ER 建模中是对象建模中类子类的对应物。举例说明:机动车辆可以是汽车或卡车。货物空间之类的功能与卡车有关,但与汽车无关。因此,有些特征适用于泛化实体,但也有仅适用于其中一种特化的特征。

很多时候,人们来这里询问有关 gen-spec 案例的表格设计的问题。但他们并不承认这一点,因为在他们开始接受关于数据库的教育时,他们从未被介绍过 gen-spec。

另一种说法是,他们被教导如何建模和实现“具有”关系,而不是如何建模和实现“是”关系。

【讨论】:

【参考方案3】:

我要补充一点,ER 模型是基本模型,它拥有关系代数所需的一切(包括 ISA 层次结构 - 继承和其他我不记得的东西)。并且更抽象(因此每个框不必是数据库表,而某些框的其他方式可以超过 1 个表)

EER 模型更接近真实数据库的样子。所以每个盒子实际上都是桌子。

我认为公认的答案也是正确的,但在我看来(在我认为是这种方式的任何地方都没有读过这个)EER 的创建是为了帮助人们设计数据库,而不是基本的关系代数。带有 ER 的关系代数为您提供了建模数据库所需的一切,但您需要一些编译器,它将 ISA 层次结构和关系转换为实际的表,并使用 EER 获得您所看到的。我使用两者来设计表 - ER 更合乎逻辑,因为它使您从继承之类的东西中抽象出来,因为您只需告诉您的 ER 工具我希望它从中继承,而您不必创建 2 个表。但 EER 更好,因为你看到你得到了什么。

结论:ER 是基本原理,EER 对于实际工作来说是更好的工具,抽象程度较低。

(我的关系代数理论知识太生疏了,所以我希望我记得一切正确,如果我错了,请纠正我)

【讨论】:

以上是关于ER图和EER图的区别的主要内容,如果未能解决你的问题,请参考以下文章

ER图和数据库模型图有啥区别呢?

uml类图和er图中主外键的表示区别

数据库模型图和ER图区别是啥?

深度学习静态图和静态图的区别以及优缺点是什么?

TensorFlow-静态图和PyTorch-动态图区别

cad索引图和节点图有啥区别