Third Normal Form (3NF)
Third normal form eliminates, on top of 2NF, transitive dependencies of non-prime attributes on candidate keys.
Purpose
To eliminate redundancy and update anomalies caused by transitive dependencies; the goal of most designs.
Mechanism
If A→B→C and B does not determine A, then C transitively depends on A, and B→C should be split into its own table. E.g., student_id→dept_id→dept_name: dept_name transitively depends on student_id, so split into Students(student_id, dept_id) and Departments(dept_id, dept_name).
Use cases
- Database design
- Normalization
- Transitive dependency