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.