ERD(实体关系图)和EERD(增强实体关系图)之间有什么区别?
答案 0 :(得分:28)
您有关系(image source)
和属性(image source)
也可以是主键(image source)
您与ER型号相同
专业化
分区(多个专业化)
概括
聚合
键的注释不同:
答案 1 :(得分:4)
我想补充一点,ER模型是基本模型,它具有关系代数所需的一切(包括ISA层次结构 - 吸入和其他我不记得的东西)。并且更抽象(所以每个框都不一定是数据库表,而另一些方法可以超过1个表)
EER模型更接近真实数据库的样子。所以每个盒子实际上都是桌子。
我认为接受的答案也是正确的,但在我看来(没有在任何地方读过这些我认为是这样的)EER的创建是为了帮助人们设计数据库甚至更多的基本关系代数。使用ER的关系代数为您提供了建模数据库所需的一切,但是您需要一些编译器将ISA层次结构和关系转换为实际表格,并使用EER获得您所看到的内容。我正在使用它们来设计表格 - ER更合乎逻辑,因为它从继承的东西中抽象出来,因为你只是告诉你的ER工具我想要继承它,你不必创建2个表。但是EER更好,因为你看到了你得到的东西。
结论:ER是基本原则,EER是实际工作中较少抽象的一点工具。
(关于关系代数的我的理论知识太生疏了,所以我希望我记得一切正确,如果我错了,请纠正我)
答案 2 :(得分:4)
增强型ER模型添加的主要功能是专业化/概括和联合。其中Gen-spec是最常出现在Stackoverflow问题答案中的。
Gen-spec是ER建模中对象建模中类 - 子类的对应物。举例说明:汽车可以是汽车或卡车。像货物空间这样的功能属于卡车但不属于汽车。因此,有一些功能适用于广义实体,但这些功能也只适用于其中一个专业化。
很多时候,人们都会来到这里,询问有关gen-spec案例的表设计问题。但是他们并没有认识到这一点,因为他们在开始的数据库教育中从未被引入过gen-spec。
另一种说法是,他们被教导如何建模和实施"有一个"关系,但不是如何建模和实施"是一个"关系。