ER图和EER图的区别

28

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


6
请点击答案得分下方的复选标记来接受解决您问题的答案。这样做可以确认您对该答案的认可。 - Shahbaz
3个回答

32

实体-关系模型

您有关系(图片来源)

关系示例

和属性 (图片来源)

属性示例

这些也可以是主键 (图片来源)

主键示例

增强实体-关系模型

与ER模型相同,还有以下内容:

特化

输入图像描述

分区(多个特化)

泛化

聚合

键的注释不同:

输入图像描述


4
我认为ER模型是基本模型,具有所有关系代数所需的内容(包括ISA层次结构 - 继承以及我不记得的其他内容)。它更加抽象(因此每个框不必是数据库表格,反之亦然,某些框可以是多个表格)。
EER模型更接近真实数据库的外观。因此,每个框实际上都是一个表格。
我假设被接受的答案也是正确的,但在我看来(我没有在任何地方读到这个,我只是认为是这样),EER的创建是为了帮助人们设计数据库,甚至比基本的关系代数更好。 ER和关系代数给出了建模数据库所需的一切,但是您需要一些编译器将ISA层次结构和关系转换为实际表格,并且使用EER可以获得您所看到的内容。 我正在使用两者来设计表格- ER更加逻辑化,因为它使您抽象化脱离继承等问题,而您只需告诉您的ER工具我要从那里继承这个,您就不必创建2个表格。 但是EER更好,因为您看到的就是您得到的。
结论:ER是基本原则,EER是一个具有较少抽象的更好的实际工作工具。
(我的关于关系代数的理论知识太过生疏,所以我希望我记得一切都是正确的,如果我错了,请纠正我。)

4
增强实体关系模型引入的主要特性包括专业化/一般化和联合。其中,最常在Stackoverflow问题回答中提到的是Gen-spec。
在ER建模中,Gen-spec是面向对象建模中类-子类的对应物。以下是一个例子来说明:汽车可以是汽车或卡车。货物空间这样的特征适用于卡车而不适用于汽车。因此,有些特征适用于广义实体,但也有一些特征仅适用于其中一个专业化实体。
非常多时,人们会就gen-spec案例的表设计问题提出问题。但他们没有认识到这一点,因为他们从未在数据库的初始教育中介绍过gen-spec。
换句话说,他们学习了如何建模和实现“有”关系,但没有学习如何建模和实现“是”关系。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接