Generalization in DBMS
Generalization in DBMS
In the database management system, generalization is a concept combining the common attributes of two or more lower-level entity and form a new higher level with the common attributes. In this DBMS concept, we can also combine the generalized higher-level entity with the lower-level entities for creating a new higher-level entity.
This concept follows the bottom-up approach, which is just opposite to the specialization concept. This concept is the same as the subclass and superclass, where more than one subclass combines to make a superclass.
Steps for Implementing the Generalization
If any user wants to implement the generalization concept for making the database simply, then we have to follow the following steps one by one:
Step 1: The first step for each user is to identify the two or more entities having common attributes of any database.
Step 2: After that, the user has to examine the common attributes of the identified entities.
Step 3: Now, the user has to define the new higher-level entity, which consists of the common attributes of identified lower-level entities. This new higher-level entity is termed a generalized entity.
Step 4: This is the last step. In this step, the user has to define the relationship between the generalized and lower-level entities.
Example
Let us consider we have two entities in the School database, whose names are Student and Teacher. The attributes of the Student entity are Student_ID, Name, Age, Address, and mobile_no. Following ER-diagram shows the student entity with its four attributes.

The attributes of the Teacher entity are Teacher_ID, Name, Age, Address, Mobile_no. Following ER-diagram shows the Teacher entity with its four attributes.

These two entities of the School database have four common attributes, i.e., Name, Age, Mobile_no, and Address. So, both the specified entities are combined to form a new generalized entity of higher-level whose name is Person.
This new Person entity contains the four attributes Name, age, Mobile_no, and Address, which holds the values of all students and teachers of the school database.
As you can see in the ER diagram, which is given below, the same attributes (Name, Age, Mobile_no, and Address) of Student and Teacher are now connected with the Person entity, which is in relationship with both the entities.

Difference Between Generalization and Specialization
Generalization | Specialization |
1. This concept of a database system works in a bottom-up manner. | 1. This concept of a database system works in a top-down manner. |
2. In the generalization concept, schema size gets reduced. | 2. In the generalization concept, schema size gets increased. |
3. This technique is applied to the multiple lower-level entities. | 3. This technique is applied to the single higher-level entity. |
4. Inheritance process does not occur in this mechanism. | 4. Inheritance process occurs in this mechanism because the properties of the superclass are shared with the subclasses. |
5. The higher-level entity in this technique must have lower-level entities. | 5. In this technique, the higher-level entity of the ER diagram may not have the entities of the lower level. |
6. This mechanism takes the common features of multiple lower-level entities and forms a new higher entity. | 6. This mechanism splits the higher-level entity and form new entities with common properties. |