Extended ER Model
As we know, the ER Model is used for database modeling (designing). In the 1980s, the complexity of data increased, due to which the traditional database model failed to fulfill the requirements of database modeling.
That’s why some features were added to the traditional ER Model, which became the extended ER Model. Those added features were
A General Symbol of Generalization or Specialization is a
Let’s explain all terms (generalization, specialization, and aggregation) one by one,
- Generalization is a bottom-up approach where two or more entities from lower level can combine to form a higher-level entity if they have some attributes in common.
- In simple words, generalization extracts the common attributes from a different set of entities and creates a generalized entity from it.
For example, Consider Lower-level entities are Cars, Bus,es and Bikes. These three entities from lower-level combine together and create a higher-level entity as a Vehicle. the following diagram represents the
Keep in mind: Lower-level entities are considered as sub-classes. And higher-level entities are considered as super-class.
- Specialization is the opposite of Generalization.
- Specialization is a top-down approach where one higher-level entity can broken down into two lower-level entities.
For example, Consider a higher-level entity as a Vehicle. This higher-level entity breaks down into lower-level entities (i.e. Car, Bus, and Bike).
Inheritance is an important feature of generalization and specialization. Attribute inheritance allows to inherit the attributes from lower to higher levels in generalization or higher to lower levels in specialization.
Inheritance in Generalization. ( inheriting the attributes from lower to higher level)
The vehicle can inherit all attributes of its lower level.So in the following example, vehicle entity will contain 6 attributes. Three attributes( i.e., Company, model, chaisis_No) of itself and three attributes are inherited (i.e., Stereeo_present, Street_No, Load_capacity ) from lower entities. So, there is no need to mention all 6 attributes in the Vehicle entity.
Inheritance in Specialization. ( inheriting the attributes from Higher to lower level)After inheritance in specialization, all lower-level entities will hold the attributes of their higher-level attribute. So in the above example, Car, Bus, and Bike will hold four attributes each. One attribute is itself, and three are inherited from its higher level (vehicle).Note: inheritance must be there in the relationship, but inheritance may be either specialization or generalization.
When a relationship between two entities is considered as a single entity, and again, this single entity has a relationship with another entity, it is known as aggregation.
Aggregation is used when there is a need to express a relationship among relationships.
For example, Employees, Jobs, and branches are treated as single entities which have a relationship with Managers. As explained in the following diagram.