Mapping ERD To RDBMS
Mapping ERD To RDBMS
Week-8
Muhammad Ans Khalid
Mapping Conceptual to RDMS
One to One
DeptId DeptName DeptId(FK) ChId(FK) ChId ChName
102
1003
103 1003
Steps to Create an ERD (E-R Digram)
Following are the steps to create an ERD.
DBMS Generalization
Generalization is a process in which the common attributes of more than one entities form a
new entity. This newly formed entity is called generalized entity.
Generalization Example
Lets say we have two entities Student and Teacher.
Attributes of Entity Student are: Name, Address & Grade
Attributes of Entity Teacher are: Name, Address & Salary
These two entities have two common attributes: Name and Address, we can make a generalized
entity with these common attributes. Lets have a look at the ER model after generalization.
The ER diagram after generalization:
We have created a new generalized entity Person and this entity has the common attributes of
both the entities. As you can see in the following ER diagram that after the generalization
process the entities Student and Teacher only has the specialized attributes Grade and Salary
respectively and their common attributes (Name & Address) are now associated with a new
entity Person which is in the relationship with both the entities (Student & Teacher).
Note:
1. Generalization uses bottom-up approach where two or more lower level entities combine
together to form a higher level new entity.
2. The new generalized entity can further combine together with lower level entity to create a
further higher level generalized entity.
DBMS Specialization
Specialization is a process in which an entity is divided into sub-entities. You can think of it
as a reverse process of generalization, in generalization two entities combine together to form
a new higher level entity. Specialization is a top-down process.
The idea behind Specialization is to find the subsets of entities that have few distinguish
attributes. For example – Consider an entity employee which can be further classified as sub-
entities Technician, Engineer & Accountant because these sub entities have some distinguish
attributes.
Specialization Example
In this diagram, we can see that we have a higher level entity “Employee” which we have
divided in sub entities “Technician”, “Engineer” & “Accountant”. All of these are just an
employee of a company, however their role is completely different and they have few different
attributes. Just for the example, I have shown that Technician handles service requests,
Engineer works on a project and Accountant handles the credit & debit details. All of these
three employee types have few attributes common such as name & salary which we had left
associated with the parent entity “Employee” as shown in the above diagram.
DBMS Aggregration
Aggregation is a process in which a single entity alone is not able to make sense in a
relationship so the relationship of two entities acts as one entity. I know it sounds confusing
but don’t worry the example we will take, will clear all the doubts.
Aggregration Example
In real world, we know that a manager not only manages the employee working under them
but he has to manage the project as well. In such scenario if entity “Manager” makes a
“manages” relationship with either “Employee” or “Project” entity alone then it will not make
any sense because he has to manage both. In these cases the relationship of two entities acts as
one entity. In our example, the relationship “Works-On” between “Employee” & “Project” acts
as one entity that has a relationship “Manages” with the entity “Manager”.