Normalization in Database
Design
Module 3 – DBMS | With Examples &
ER Diagrams
Why Normalization?
• Eliminates data redundancy and inconsistency
• Prevents update, insert, and delete anomalies
• Organizes data efficiently for better performance
Functional Dependencies
• A functional dependency is a relationship between attributes.
• If A → B, then A functionally determines B.
• Example: StudentID → StudentName
First Normal Form (1NF)
• Ensures each column contains atomic values (no lists).
• Removes repeating groups from tables.
• Example: Student table with multiple phone numbers → separate into
individual rows.
Second Normal Form (2NF)
• Eliminates partial dependencies on a composite key.
• All non-key attributes must depend on the whole primary key.
• Example: Course(StudentID, CourseID, StudentName) → split into two
tables.
Third Normal Form (3NF)
• Eliminates transitive dependencies.
• Non-key attributes should depend only on the primary key.
• Example: Employee(EmpID, DeptID, DeptName) → split into Employee and
Department tables.
Boyce-Codd Normal Form (BCNF)
• Stronger version of 3NF.
• Every determinant must be a candidate key.
• Fixes anomalies not handled by 3NF.
Multivalued Dependencies
• Occurs when two or more independent multivalued facts exist about the
same attribute.
• Example: A person can have multiple phone numbers and emails.
• Each should be stored in a separate relation.
Fourth Normal Form (4NF)
• Removes multivalued dependencies.
• Ensures no more than one multivalued fact in a relation.
• Example: Split phone numbers and emails into separate tables.
Fifth Normal Form (5NF)
• Also called Project-Join Normal Form.
• Ensures lossless decomposition and eliminates join dependencies.
• Used in complex many-to-many relationships.
Summary of Normal Forms
• 1NF: Eliminate repeating groups.
• 2NF: Eliminate partial dependencies.
• 3NF: Eliminate transitive dependencies.
• BCNF: Every determinant is a candidate key.
• 4NF: Eliminate multivalued dependencies.
• 5NF: Eliminate join dependencies.