Database Management System: 5 & 4 Semester IT & CSE Session: 2017-2021, 2018-2022
Database Management System: 5 & 4 Semester IT & CSE Session: 2017-2021, 2018-2022
Since ER diagram gives us the good knowledge about the requirement and the
mapping of the entities in it, we can easily convert them as tables and columns. i.e.;
using ER diagrams one can easily created relational data model, which nothing but
the logical view of the database.
There are various steps involved in converting it into tables and columns.
Each type of entity, attribute and relationship in the diagram takes their own
depiction here. Consider the ER diagram below and will see how it is converted
into tables, columns and mappings.
The basic rule for converting the ER diagrams into tables is:
All the entities represented in the rectangular box in the ER diagram become
independent tables in the database. In the below diagram, STUDENT, COURSE,
LECTURER and SUBJECTS forms individual tables.
All the attributes, whose value at any instance of time is unique, are considered as
columns of that table. In the STUDENT Entity, STUDENT_ID,
STUDENT_NAME form the columns of STUDENT table. Similarly,
LECTURER_ID, LECTURER_NAME form the columns of LECTURER table.
And so on.
Key attribute in the ER diagram becomes the Primary key of the table.
A hobby in the Student table is a multivalued attribute. Any student can have any
number of hobbies. So we cannot represent multiple values in a single column of
STUDENT table. We need to store it separately, so that we can store any number
of hobbies, adding/ removing / deleting hobbies should not create any redundancy
or anomalies in the system. Hence we create a separate table STUD_HOBBY with
STUDENT_ID and HOBBY as its columns. We create a composite key using both
the columns.
One can ignore derived attribute, since it can be calculated at any time.
In the STUDENT table, Age can be derived at any point of time by calculating the
difference between DateOfBirth and current date. Hence we need not create a
column for this attribute. It reduces the duplicity in the database.
These are the very basic rules of converting ER diagram into tables and columns,
and assigning the mapping between the tables. Table structure at this would be as
below:
Weak entity is also represented as table. All the attributes of the weak entity forms
the column of the table. But the key attribute represented in the diagram cannot
form the primary key of this table. We have to add a foreign key column, which
would be the primary key column of its strong entity. This foreign key column
along with its key attribute column forms the primary key of the table.
In our example above, SUBJECTS is the weak entity. Hence, we create a table for
it. Its attributes SUBJECT_ID and SUBJECT_NAME forms the column of this
table. Although SUBJECT_ID is represented as key attribute in the diagram, it
cannot be considered as primary key. In order to add primary key to the column,
we have to find the foreign key first. COURSE is the strong entity related to
SUBJECT. Hence the primary key COURSE_ID of COURSE is added to
SUBJECT table as foreign key. Now we can create a composite primary key out of
COURSE_ID and SUBJECT_ID.
1. Create table for both LECTURER and SUBJECT. Add the primary key of
LECTURER in SUBJECT table as foreign key. It implies the lecturer name
for that particular subject.
2. Create table for both LECTURER and SUBJECT. Add the primary key of
SUBJECT in LECTURER table as foreign key. It implies the subject taught
by the lecturer.
In both the case, meaning is same. Foreign key column can be added in either of
the table, depending on the developer’s choice.
Consider the example, multiple students enrolled for multiple courses, which is
M:N relation. In this case, we create STUDENT and COURSE tables for the
entities. Create one more table for the relation ‘Enrolment’ and name it as
STUD_COURSE. Add the primary keys of COURSE and STUDENT into it,
which forms the composite primary key of the new table.
That is, in this case both the participating entities are converted into tables,
and a new table is created for the relation between them. Primary keys of entity
tables are added into new table to form the composite primary key. We can add
any additional columns, if present as attribute of the relation in ER diagram.
Consider the example of HOD and Lecturers. Here one of the Lecturers is a HOD
of the department. i.e.; one HOD has multiple lecturers working with him. In this
case, we create LECTURER table for the Lecturer entity. Create the columns and
primary keys as usual. In order to represent HOD, we add one more column to
LECTURER table which is same column as primary key, but acts as a foreign key.
i.e.; LECTURER_ID is the primary key of LECTURER table. We add one more
column HOD, which will have LECTURER_ID of the HOD. Hence LECTURER
table will show HOD’s Lecturer ID for each Lecturer. In this case, primary key
column acts as a foreign key in the same table.
Consider Student and Teacher example as ‘Manny students have Many Teachers
teaching the subjects’. Here relation between Student and Teacher is M:N. In th is
case, create independent tables for student and teacher, and set their primary keys.
Then we create a new table for the relationship ‘have’ as STUDENT_TEACHER,
which will have student and teacher combination, and any other columns if
applicable. Basically, student-teacher combination is the two primary key columns
from respective tables, hence establishing the relationship between them. Both the
primary keys from both tables act as a composite primary key in the new table.
This reduces the storing of redundant data and consistency in the database.