2012-03-28 457 views
17

ERD(实体关系图)与EERD(增强型实体关系图)之间的区别是什么?ER图与EER图之间的区别

+5

Shaki,请接受解决您的问题的答案。这是通过点击答案分数下的复选标记完成的。 – Shahbaz 2012-03-28 15:59:43

回答

25

实体关系模型

你有关系(image source

example for an relationship

和属性(image source

example for an attribute

也可以是主键(image source

example for an primary key

增强实体关系模型

你有一样与ER模型加

专业化

enter image description here

分区(这是多特)

概括

聚集

键注释不同:

enter image description here

4

我想补充一点,ER模型是基本模型,拥有所有你需要的关系代数,因为它是(包括ISA层次 - 其他我不记得的东西)。而且更抽象(因此每个盒子不一定要是数据库表格,反过来一些盒子可以多于一个表格)

EER模型更接近真实数据库的样子。所以每个盒子实际上都是桌子。我认为公认的答案也是正确的,但在我看来(没有读过这个地方,我只是认为它是这样)EER的创建是为了帮助人们设计数据库,甚至超过基本的关系代数。 ER的关系代数给你提供了建模数据库所需的所有东西,但是你需要一些编译器来将ISA层次结构和关系转化为实际的表格,并用EER获得你所看到的东西。我使用两者来设计表格 - ER更合乎逻辑,因为它将您从类似继承的东西中抽象出来,因为您只需告诉您的ER工具,我希望它可以从中继承,而且您不必创建2个表格。但是EER更好,因为你看到了你所得到的。结论:ER是基本原理,EER对实际工作而言是一种更好的工具,抽象程度较低。

(我的关系代数teoretical knowladge太生疏了,所以我希望我能记得的一切权利,纠正我,如果我错了)

2

通过增强ER模型添加的主要特点是专业化/推广和工会。这些Gen-spec中最常出现的是Stackoverflow问题的答案。

Gen-spec是ER建模中对象建模中的类 - 子类的对应物。举一个例子来说明:汽车可以是汽车或卡车。货物空间等功能属于卡车,而不属于汽车。所以有一些适用于广义实体的功能,但这些功能也仅适用于其中一种专业化功能。

很多时候,人们在这里遇到一个关于gen-spec案例的表格设计问题。但他们并不认同这一点,因为他们在开始关于数据库的教育时从未被引入到gen-spec中。

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