Skip to content
uencoder

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

Related tools

References