Normalization: Student - Details Course - Details Result - Details
Normalization: Student - Details Course - Details Result - Details
Normalization
2.1. Introduction
Usually in the software industry designers use E-R modeling as a requirement
analysis tool. Database design using E-R diagram is a by-product.
Database designed based on the E-R model may have some amount of
inconsistency, ambiguity and redundancy. To resolve these issues some amount of
refinement is required. This refinement process is called as Normalization.
As normalization involves building structures (like table / tables), starting
from the stage of identifying the columns (attributes) associated in the table, it is also
called Bottom-Up approach.
This normalization technique is based on a strong mathematical foundation.
Basically normalization eliminates the duplicate data and makes insert, update
and delete operations much more efficient in terms of performance and space
requirement to store the data.
In software companies, almost all the database designs are initially based on
E-R modeling and later refined using normalization techniques before they are
physically created.
2.2.. The need for Normalization
Consider a university scenario, where in the data associated with the students,
courses and their results are maintained in a table called Student_Course_Result.
Student_Course_Result Table
Student_Details Course_Details Result_Details
101 Davis 11/4/1986 M4 Applied Mathematics Basic Mathematics 7 11/11/2004 82 A
102 Daniel 11/6/1987 M4 Applied Mathematics Basic Mathematics 7 11/11/2004 62 C
101 Davis 11/4/1986 H6 American History 4 11/22/2004 79 B
103 Sandra 10/2/1986 C3 Bio Chemistry Basic Chemistry 11 11/16/2004 65 B
104 Evelyn 2/22/1986 B3 Botany 8 11/26/2004 77 B
102 Daniel 11/6/1987 P3 Nuclear Physics Basic Physics 13 11/12/2004 68 B
105 Susan 8/31/1985 P3 Nuclear Physics Basic Physics 13 11/12/2004 89 A
103 Sandra 10/2/1986 B4 Zoology 5 11/27/2004 54 D
105 Susan 8/31/1985 H6 American History 4 11/22/2004 87 A
104 Evelyn 2/22/1986 M4 Applied Mathematics Basic Mathematics 7 11/11/2004 65 B
Example: Course M4s data is stored thrice and student 102s data stored
twice. This redundancy will increase as the number of course offering and student
increases.
Hence we need to refine our design so that we make an efficient database in
terms of storage space and Inserts, Updates and Deletes operations. This refining
technique is called as normalization.