Difference between ER diagram and EER diagram

54,249

Solution 1

Entity-Relationship model

You have relationships (image source)

example for an relationship

and attributes (image source)

example for an attribute

that can also be primary keys (image source)

example for an primary key

Enhanced entity–relationship model

You have the same as with the ER model plus

specialisation

enter image description here

partitioning (which are multiple specialisations)

generalisation

aggregation

keys are annotated differently:

enter image description here

Solution 2

The primary features added by the Enhanced ER Model are specialization/generalization and unions. Of these Gen-spec is the one that most often comes up in answers to Stackoverflow questions.

Gen-spec is the counterpart, in ER modeling, of class-subclass in object modeling. An example to illustrate: a motor vehicle could be an auto or a truck. A feature like cargo space pertains to a truck but not to an auto. So there are features that apply to the generalized entity, but the are also features that apply to only one of the specializations.

Very often, people come in here with a question about table design for a case of gen-spec. But they don't recognize it as such, because they were never introduced to gen-spec in their beginning education about databases.

Another way of saying this is that they were taught how to model and implement "has a" relationships, but not how to model and implement "is a" relationships.

Solution 3

I would add that ER model is basic model which has all you need for relational algebra as it is (including ISA hierarchy - inharitence nad other stuff I don't remember). And is more abstract (so every box doesn't have to be database table and the other way around some boxes can be more then 1 table)

EER model is closer to what real database look like. So every box is actually table.

I assume the accepted answer is right too, but in my opinion (havent read this anywhere I just think it is this way) EER was created to help people design databases even more then the basic relational algebra. Relational algebra with ER gives u everything you need to model database but you need some compiler which will translate ISA hierarchies and relations into actual tables and with EER your getting what you see. I was using both to design tables - ER is more logical, because it abstracts you from stuff like inheritance since you just tell your ER tool I want this to inherit from that and you dont have to create 2 tables. But EER is better because you see what you get.

Conclusion: ER is basic principle, EER is little bit better tool for actual work with less abstraction.

(My teoretical knowladge of relational algebra is too rusty, so I hope I remember everything right, correct me if I am wrong)

Share:
54,249

Related videos on Youtube

shaki mandira
Author by

shaki mandira

Updated on July 09, 2022

Comments

  • shaki mandira
    shaki mandira almost 2 years

    What is the difference between ERD (Entity relationship diagram) and EERD (enhanced entity relationship diagram)?

    • Shahbaz
      Shahbaz about 12 years
      Shaki, Please accept answers that solve your problem. This is done by clicking the checkmark under the answer score.