In: Computer Science
list the first three normal forms, and describe in detail the criteria required to satisfy each one of them. Support your analysis with practical examples.
Answer:-------
First Normal Form (1NF):--------
In the first normal form, only single values are permitted at the
intersection of each row and column; hence, there are no repeating
groups. To normalize a relation that contains a repeating group,
remove the repeating group and form two new relations.
The Primary Key of the new relation is a combination of the PK of the original relation plus an attribute from the newly created relation for unique identification.
Process for 1NF:----
Let Student_Grade_Report table below, from a School database, as
our example to explain the process for 1NF.
Student_Grade_Report (StudentNo, StudentName,
Major, CourseNo, CourseName, InstructorNo, InstructorName,
InstructorLocation, Grade)
In the Student Grade Report table, the repeating group is the
course information. A student can take many courses.
Remove the repeating group. In this case, it’s the course
information for each student.
Identify the PK for your new table.
The PK must uniquely identify the attribute value (StudentNo and
CourseNo).
After removing all the attributes related to the course and
student, you are left with the student course table
(StudentCourse).
The Student table (Student) is now in first normal form with the
repeating group removed.
The two new tables are shown below.
Student (StudentNo, StudentName, Major)
StudentCourse (StudentNo, CourseNo, CourseName,
InstructorNo, InstructorName, InstructorLocation, Grade)
Second Normal Form (2NF):----------
For the second normal form, the relation must first be in 1NF. The
relation is automatically in 2NF if, and only if, the PK comprises
a single attribute.
If the relation has a composite PK, then each non-key attribute must be fully dependent on the entire PK and not on a subset of the PK (i.e., there must be no partial dependency or augmentation).
Process for 2NF:--
To move to 2NF, a table must first be in 1NF.
The Student table is already in 2NF because it has a single-column
PK.
When examining the Student Course table, we see that not all the
attributes are fully dependent on the PK; specifically, all course
information. The only attribute that is fully dependent is
grade.
Identify the new table that contains the course information.
Identify the PK for the new table.
The three new tables are shown below.
Student (StudentNo, StudentName, Major)
CourseGrade (StudentNo, CourseNo, Grade)
CourseInstructor (CourseNo, CourseName,
InstructorNo, InstructorName, InstructorLocation)
Third Normal Form (3NF):-------
To be in third normal form, the relation must be in second normal
form. Also all transitive dependencies must be removed; a non-key
attribute may not be functionally dependent on another non-key
attribute.
Process for 3NF:-------
Eliminate all dependent attributes in transitive relationship(s)
from each of the tables that have a transitive relationship.
Create new table(s) with removed dependency.
Check new table(s) as well as table(s) modified to make sure that
each table has a determinant and that no table contains
inappropriate dependencies.
See the four new tables below.
Student (StudentNo, StudentName, Major)
CourseGrade (StudentNo, CourseNo, Grade)
Course (CourseNo, CourseName,
InstructorNo)
Instructor (InstructorNo, InstructorName,
InstructorLocation)