Table of Contents
Difference Between Generalization and Specialization
Generalization and Specialization are two important concepts in DBMS. There are some differences between generalization and specialization
What is difference between Generalization and Specialization ? This question is generally asked in Technical Interview.
In this tutorial we have explained both Generalization and Specialization Process with suitable example.
After reading this tutorial students will be able to answer difference between generalization and specialization in technical interview.
Why Generalization and Specialization ?
ER model means an Entity Relationship model. This model defines the real-world data elements entity and their relationship for a specified database system. At external or view level, this ER model is a good option for designing database.
Conventional ER Model for database modeling is not suitable for complex data. Some a upgrades or improvements required to the current ER Model to make it ready to deal with the mind-boggling applications better.
Therefore as a feature of the Enhanced ER Model alongside different upgrades with two new ideas
- Generalization
- Specialization
The ER Model has the capacity to express database entities in a conceptual hierarchical manner. As the hierarchical system goes up, it generalizes the entities, and as we dive deep in the in the system, it gives us the more details of every entity included in the hierarchy.
In generalization move from lower level to higher level, where entities are combined together to represent a generalized view.
For example the student named ram can b generalized as student with other students which can be further generalize as person.
The reverse of generalization is specialization. The person can be student and a particular student can be ram.
What is Generalization in DBMS ?
Generalization in BDMS is a bottom-up approach. If entities have some common attributes, then generalization combine these two or more entities of lower level to form a higher-level entity.
Generalization is same concept like subclass and super class system. The only difference is that it follows the bottom-up approach.
In the above example, Engineer, Doctor and Professor have some same attributes like name, address, gender therefore they all three can be generalize in a single entity named ad Person.
What is Specialization in DBMS ?
Specialization is just the opposite of generalization. In specialization, a group of entities or an entity can be divide into it’s sub-groups. It is a top-down approach, in which one higher level entity can be divide into two or more lower level entity.
In Specialization, the concept is to find the subsets of entities that have few distinguish attributes.
For example – Consider an entity Account which can be further classified as sub-entities Saving and Current Account because these sub entities have some distinguish attributes.
Conclusion and Summary
In this tutorial we have explained the Generalization and Specialization Process with suitable example.
I hope that this article difference between generalization and specialization will be beneficial for the computer science student. Leave your feedback or comment so that we can improve and provide you a good quality tutorial
Previous Tutorial – ER Diagram
Next Tutorial – Relational Algebra in DBMS