Normalization in DBMS - Detailed Guide
What is Normalization in DBMS?
Normalization is the process of structuring a relational database in accordance with a series of normal forms
to reduce data redundancy and ensure data integrity.
Goals of Normalization
- Remove duplicate data (redundancy)
- Store related data in logical groups
- Minimize anomalies in INSERT, UPDATE, DELETE
- Improve data consistency
Unnormalized Table (UNF) Example
Student_ID | Name | Course | Instructor | Instructor_Phone
-----------|--------|--------------|----------------|-------------------
101 | Alice | Math, Physics| John, Emily | 1234, 5678
1NF - First Normal Form
Rule:
- Eliminate repeating groups
- Ensure atomic values in each cell
Transformed Table:
Student_ID | Name | Course | Instructor | Instructor_Phone
-----------|--------|----------|------------|------------------
101 | Alice | Math | John | 1234
101 | Alice | Physics | Emily | 5678
Normalization in DBMS - Detailed Guide
2NF - Second Normal Form
Rule:
- Must be in 1NF
- Eliminate partial dependencies
Split Tables:
Student Table:
Student_ID | Name
101 | Alice
Course Table:
Course | Instructor | Instructor_Phone
Math | John | 1234
Physics | Emily | 5678
Enrollment Table:
Student_ID | Course
101 | Math
101 | Physics
3NF - Third Normal Form
Rule:
- Must be in 2NF
- Remove transitive dependencies
Normalization in DBMS - Detailed Guide
Split Tables:
Course Table:
Course | Instructor
Math | John
Physics | Emily
Instructor Table:
Instructor | Instructor_Phone
John | 1234
Emily | 5678
BCNF - Boyce-Codd Normal Form
Rule:
- Every determinant must be a candidate key
- Stronger version of 3NF
4NF - Fourth Normal Form
Rule:
- Must be in BCNF
- Eliminate multi-valued dependencies
Separate multi-valued facts:
Student_Hobbies:
Student_ID | Hobby
101 | Reading
Normalization in DBMS - Detailed Guide
101 | Music
Student_Languages:
Student_ID | Language
101 | English
101 | French
5NF - Fifth Normal Form
Rule:
- Must be in 4NF
- Eliminate join dependencies
- Useful in complex join scenarios
6NF - Sixth Normal Form
Rule:
- Must be in 5NF
- No non-trivial join dependencies
- Used in temporal databases
Summary Table
Normal Form | Goal | Problem Solved
------------|-------------------------------|-------------------------------
1NF | Eliminate repeating groups | Atomicity
2NF | Remove partial dependency | Redundancy with composite keys
3NF | Remove transitive dependency | Dependency on non-key
Normalization in DBMS - Detailed Guide
BCNF | Determinant is a candidate key| Stronger 3NF
4NF | Remove multi-valued dependency| Independent facts in one table
5NF | Eliminate join dependency | Avoid spurious tuples
6NF | Handle temporal data | Time-variant data