27

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

4

3 回答 3

32

实体关系模型

你有关系(图片来源

关系示例

和属性(图片来源

属性示例

也可以是主键(图片来源

主键示例

增强的实体-关系模型

你有与 ER 模型相同的加

专业化

在此处输入图像描述

分区(这是多个专业化)

概括

聚合

键的注释不同:

在此处输入图像描述

于 2013-07-31T07:18:41.503 回答
4

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

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

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

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

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

于 2015-07-01T13:33:06.063 回答
4

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

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

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

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

于 2015-07-01T15:53:27.663 回答