🎓 Lecture Topic: Normalization in Database Design (1NF,
2NF & 3NF)
🕒 Duration:
~45 minutes (can be adjusted)
� 1. Introduction to Normalization (10 mins)
🔹 Definition:
Normalization is a systematic approach of organizing data in a database to reduce data
redundancy and improve data integrity.
🔹 Goals:
Minimize data duplication
Eliminate update, insert, and delete anomalies
Ensure logical data storage and relationships
🔹 Example Scenario:
Consider this unnormalized table:
StudentID StudentName Course Instructor
101 Ravi DBMS, OOP Dr. Sharma, Dr. Verma
102 Neha DBMS Dr. Sharma
👉 Issues:
Multiple values in one cell
Redundant instructor info
Difficult to update/delete data correctly
� 2. First Normal Form (1NF) (10 mins)
🔹 Rule:
A table is in 1NF if:
1. Each cell contains atomic (indivisible) values.
2. Each record is unique.
🔹 Example Conversion:
Unnormalized Table:
StudentID StudentName Courses Instructor
101 Ravi DBMS, OOP Dr. Sharma, Dr. Verma
→ Convert to 1NF:
StudentID StudentName Course Instructor
101 Ravi DBMS Dr. Sharma
101 Ravi OOP Dr. Verma
🔹 Key Point:
1NF removes repeating groups or multi-valued attributes.
� 3. Second Normal Form (2NF) (10 mins)
🔹 Rule:
A table is in 2NF if:
1. It is already in 1NF, and
2. All non-key attributes depend entirely on the primary key (no partial dependency).
🔹 Example:
From 1NF, primary key = (StudentID, Course)
StudentID StudentName Course Instructor
101 Ravi DBMS Dr. Sharma
101 Ravi OOP Dr. Verma
102 Neha DBMS Dr. Sharma
Here, StudentName depends only on StudentID (part of the key), not the full key ⇒ Partial
Dependency
→ Convert to 2NF:
Student Table:
StudentID StudentName
101 Ravi
102 Neha
Enrollment Table:
StudentID Course Instructor
101 DBMS Dr. Sharma
101 OOP Dr. Verma
102 DBMS Dr. Sharma
Now every non-key attribute depends on the full key.
� 4. Third Normal Form (3NF) (10 mins)
🔹 Rule:
A table is in 3NF if:
1. It is already in 2NF, and
2. There is no transitive dependency — i.e., non-key attributes do not depend on other
non-key attributes.
🔹 Example:
In Enrollment Table, assume:
Course Instructor InstructorOffice
DBMS Dr. Sharma Room 101
OOP Dr. Verma Room 102
Here, InstructorOffice depends on Instructor, not directly on Course ⇒ Transitive
dependency.
→ Convert to 3NF:
Course Table:
Course Instructor
DBMS Dr. Sharma
OOP Dr. Verma
Instructor Table:
Instructor InstructorOffice
Dr. Sharma Room 101
Dr. Verma Room 102
Enrollment Table:
StudentID Course
101 DBMS
101 OOP
102 DBMS
Now, all non-key attributes depend only on the key, and nothing else.
� 5. Summary Table:
Normal Form Condition Eliminates
1NF Atomic values Repeating groups
2NF No partial dependency Partial dependencies
3NF No transitive dependency Transitive dependencies
� 6. Quick Quiz / Discussion (5 mins)
Q1. What kind of anomaly occurs when we store multiple values in a single field?
Q2. Why is partial dependency problematic in relational databases?
Q3. How does 3NF improve data integrity?
� 7. Real-World Example (Optional):
Consider an Employee Database:
EmpID EmpName DeptName DeptLocation
Normalization would separate it into:
Employee(EmpID, EmpName, DeptID)
Department(DeptID, DeptName, DeptLocation)
This prevents redundancy and ensures consistency if the department location changes.
🏁 8. Conclusion:
Normalization is crucial for designing efficient and consistent databases.
1NF → Remove repeating data
2NF → Remove partial dependency
3NF → Remove transitive dependency
Results: Less redundancy, better integrity, easier maintenance.
Would you like me to create PowerPoint slides (PPT) or PDF handout notes from this lecture
content next?