Specialization is opposite to Generalization. It is a top-down approach in which one higher level entity can be broken down into two lower level entity. In specialization, some higher level entities may not have lower-level entity sets at all
- This is a Top-down design process as whown in Figure in which; we designate sub groupings within an entity set that are distinctive from other entities in the set.
- These sub groupings become lower-level entity sets that have attributes or participate in relationships that do not apply to the higher-level entity set.
- Depicted by a triangle component labeled ISA (i.e., savings-account “is an” account)
- A bottom-up design process – combine a number of entity sets that share the same features into a higher-level entity set.
- Specialization and generalization are simple inversions of each other; they are represented in an E-R diagram in the same way.
- Attribute Inheritance – a lower-level entity set inherits all the attributes and relationship participation of the higher-level entity set to which it is linked.
Generalization and specialization are actually the same thing. They are the inverse of each other. However, it only differs in the design process. Specialization is a top-down design process. Whereas Generalization is a bottom-up design process. Which means you will first design the sub-groupings like officer, temp-staff etc.. and slowly move upwards to ’employer’ – ‘customer’ and then design the ‘person’ entity. In the ER diagram generalization and specialization are both represented exactly same.
Aggregation is an abstraction in which relationship sets (along with their associated entity sets) are treated as higher-level entity sets, and can participate in relationships.
Aggregation represents abstract entities by allowing relationship between relationships. As you work with ER Diagrams you will come across the need for certain type of entities that are overlapping. For example, an ‘Employee’ ‘works-on’ a ‘branch’. An ‘Employee’ ‘manages’ some tasks. The ‘Works-on’ entity here can be abstracted via the use of aggregation. This is represented in a ER diagram by a diamond shape.