Difference Between Generalization and Specialization in DBMS

In this post, we will understand the difference between generalization and specialization in DBMS.


  • It works using bottom-up approach.

  • The size of schema is reduced.

  • It is generally applied to a group of entities.

  • Inheritance is not used in generalization.

  • It can be defined as a process where grouping are created from multiple entity sets.

  • It takes the union of two or more lower-level entity sets, and produces a higher-level entity set.

  • Some of the common features are obtained in the resultant higher-level entity set.

  • The differences and similarities between the entities that need to be in union operation are ignored.


Pigeon, house sparrow, crow and dove can all be generalized as Birds −


  • It uses a top-down approach.

  • The size of schema is increased.

  • It can be applied to a single entity.

  • It can be defined as process of creation of subgroups within an entity set.

  • It is the reverse of generalization.

  • It takes a subset of higher level entity, and forms a lower-level entity set.

  • A higher entity is split to form one or more low entity.

  • Inheritance can be used in this approach.


A person has name, date of birth, gender, etc. These properties are common in all persons, human beings. But in a company, persons can be identified as employee, employer, customer, or vendor, based on what role they play in the company.