EER model builds upon the ER model we talked about before. ER contains the modeling concepts entity types, attribute types, and relationship types. ERR will contain all the same concepts plus three additional concepts: specialization, categorization, and aggregation.
Specialization concept is quite simple, it’s a process where you breakdown a entity type into additional entity type called subclass. It’s a top down approach where the most top entity type is referred to as superclass and anything that falls below it is referred to as subclass. For example, vehicle entity type can be broken down into car and airplane entity type, making vehicle a superclass and car or airplane subclass. Artist is an another example where it can be broken down into a singer or actor. This is utilized to have a general attribute types that all subclasses can share and specific attribute types that applies only to subclasses. Generalization is the reverse process of specialization.
Specialization can be also further qualified according to its disjointness and completeness constraints. Let’s talk about disjointness constraint first. Disjointness constraint can be either disjoint or overlap and it is what specifies what subclasses an entity of the superclass can belong to. If it’s disjoint, superclass entities can belong to only “one” of the subclasses and if it’s overlap, superclass entities can belong to “more than one” of the subclasses. For example, if it has “d” mark on the model to state that it is a disjoint, an artist can either be an actor or a graphic designer (subclasses), but if it has “o” mark on the model to state that it is an overlap, the entity can be both an actor or graphic designer.
Now let’s talk about completeness constraints, which can be total or partial. Completeness constraint is what states how much of the entities “within” superclass should belong in the subclasses. Partial means that that entities can belong in the superclass and to “none” of the subclasses while total means every entities in the superclass must be member of some subclass.

Let’s look at this example here. O means overlap, which falls under disjointness constraint along with disjoint specialization. With the overlap specialization, people can be both student and a teacher, so this marking depicts that within the circle. Then the p marking is the completeness constraint which consists of total or partial specialization. P or partial specialization is what allows an entity to only belong to the superclass and to none of the subclasses below it. It basically states that people don’t necessarily have to be a student or a teacher. However, if it had total specialization with “t” on it, it would mean it has to be either student or a teacher. This gives us four combinations which are disjoint and total, disjoint and partial, overlapping and total, and overlapping and partial. The curve or semi circle pointing towards the subclasses from the superclass is to depict that attributes of people are shared to the subclasses.
Now let’s look at categorization, a class that has several possible superclasses. Category basically represents a group of entities that is a subset of the union of the superclasses. It’s something that basically falls below union with super classes pointing towards it. Union is represented by a circle with a u in the EER model.

As you see in the image above, teacher and students are both superclasses and they are connected to university key holder with union circle. University key holder is a category with multiple superclasses. Categorization can be partial or total, in the partial categorization, not all entities of the superclasses belong to the subclass and it total categorization, all entities of superclasses belong to the subclass. In the image above, it’s partial because not all entities are university key holders. But if they were, it’ll be marked with “t” for total categorization.
Lastly, we have aggregation, where you can combine related entity types into a higher level aggregate entity type. For example, you can combine lawyer and course case entity types, each with their own attributes into participation within a bigger rectangle. Participation will be considered its own entity type and will make connection to other entity type and will also have its own attribute types like date.

You must be logged in to post a comment.