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图的区别的主要内容,如果未能解决你的问题,请参考以下文章