normalization
Normalization is a database design technique used in Database Management
Systems to reduce redundancy and avoid anomalies (update, insert, delete
problems).
Let’s break it down clearly step-by-step with one example.
What is Normalization?
Normalization organizes data into tables so that:
• Data is stored only once
• Dependencies are properly structured
• Database becomes efficient and consistent
Example (Unnormalized Table – UNF)
Consider a student table:
Student_ID Name Subjects Marks
1 Ravi Math, Science 90, 85
2 Priya Math, English 88, 92
Problem:
• Multiple values in one column (Subjects, Marks)
• Not structured properly
First Normal Form (1NF)
✔ Rule:
• No multi-valued attributes
• Each cell must contain atomic (single) values
Convert to 1NF:
Student_ID Name Subject Marks
1 Ravi Math 90
1 Ravi Science 85
2 Priya Math 88
2 Priya English 92
✔ Result:
• Each column has single value
• Data is structured
Second Normal Form (2NF)
✔ Rule:
• Must be in 1NF
• Remove partial dependency
• Non-key attributes must depend on full primary key
Problem in 1NF:
Primary key = (Student_ID, Subject)
But:
• Name depends only on Student_ID (partial dependency)
Convert to 2NF:
Split into 2 tables:
Table 1: Students
Student_ID Name
1 Ravi
2 Priya
Table 2: Marks
Student_ID Subject Marks
1 Math 90
1 Science 85
2 Math 88
2 English 92
✔ Result:
• No partial dependency
• Each table has clear purpose
Third Normal Form (3NF)
✔ Rule:
• Must be in 2NF
• Remove transitive dependency
• Non-key attributes should depend only on primary key
Example Problem:
Suppose we add:
Student_ID Subject Marks Teacher
1 Math 90 Kumar
Here:
• Teacher depends on Subject (not Student_ID)
Convert to 3NF:
Split again:
Table 1: Students
Student_ID Name
Table 2: Marks
| Student_ID | Subject | Marks |
Table 3: Subjects
Subject Teacher
Math Kumar
English Anita
✔ Result:
• No transitive dependency
• Better structure
Final Summary
Normal Form Main Rule Removes
1NF Atomic values Repeating groups
2NF Full dependency Partial dependency
3NF No transitive dependency Indirect dependency
Easy Way to Remember
• 1NF → No multiple values
• 2NF → No partial dependency
• 3NF → No indirect dependency