DBMS Generalization - MetaTutorials


The Tutor is Yours!

DBMS Generalization

In the previous two articles, we have already learned about the ER model. 
Now, we have to learn about the concepts of the Enhanced ER model. But, firstly we have to know about why Enhanced ER model is introduced. 

As the data is growing and the complexity increases, so the traditional ER model is difficult to handle the complexity of the data. So, DBMS provides the Enhanced ER model (Improvements with the traditional ER model) for managing the increasing complexity.  

Enhanced ER model includes the following three concepts:
  1. Generalization
  2. Specialization
  3. Aggregation
Here, we will learn about DBMS Generalization.

What is Generalization?

Generalization is a term of DBMS which is just like the bottom-up approach. It is a process that combines the common attributes of two or more lower-level entities to form a new higher-level entity. 
In this concept, a generalized entity can also combine with the lower-level entity to form a new higher-level entity. Generalization is the opposite of specialization. 

Implementation of Generalization

Following are the various steps which help to implement the concept of generalization:
Step 1: Firstly, we have to identify the real-world entities A and B of any X database. 
Step 2: After that, we have to examine the same attributes of entity A and B. 
Step 3: Now, we  have to define the new entity as the entity C with the common attributes of A and B entities. The new entity is termed as a Generalized entity. 
Step 4: After that, we have to define the relationship as R between the Entities. 

Example with Explanation 

Let's suppose we have two entities in the Program database, whose names are: Coder and Tester
The attributes of coder are Coder_ID, Name, Age, and Salary
The attributes of Tester are Tester_ID, Name, Age, and Salary
These two entities of the 'Program' database have three common attributes, i.e., Name, Age, and Salary
So, both the entities are combined to form a new generalized higher-level entity whose name is Employee
This new Employee entity contains the three attributes Name, age, and salary, which contain the values of all coder and tester of the Program database. 
As we can see in the following ER model, the common attributes (Name, Age, and Salary) of Coder and Tester are now associated with the Employee entity, which is in relationship with both the entities.