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.
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.