DBMS Generalization vs Specialization and Aggregation

Generalization vs Specialization

Basic It proceeds in a bottom-up manner. It proceeds in a top-down manner.
Function Generalization extracts the common features of multiple entities to form a new entity. Specialization splits an entity to form multiple new entities that inherit some feature of the splitting entity.
Entities The higher level entity must have lower level entities. The higher level entity may not have lower level entities.
Size Generalization reduces the size of a schema. Specialization increases the size of a schema.
Application Generalization entities on group of entities. Specialization is applied on a single entity.
Result Generalization results in forming a single entity from multiple entities. Specialization results in forming the multiple entity from a single entity.


Aggregation represents relationship between a whole object and its component. Using aggregation we can express relationship among relationships. Aggregation shows ‘has-a’ or ‘is-part-of’ relationship between entities where one represents the ‘whole’ and other ‘part’.

Consider a ternary relationship Works_On between Employee, Branch and Manager. Now the best way to model this situation is to use aggregation, So, the relationship-set, Works_On is a higher level entity-set. Such an entity-set is treated in the same manner as any other entity-set. We can create a binary relationship, Manager, between Works_On and Manager to represent who manages what tasks.