Normalisation
Normalisation organises data so each fact lives in exactly one place.
Why it matters
A student table that repeats a department name 500 times will eventually disagree with itself. Split it: Students (id, name, dept_id) + Departments (dept_id, name).
1NF, 2NF, 3NF, BCNF
- 1NF: Atomic values, no repeating groups.
- 2NF: 1NF + no partial dependency on part of a key.
- 3NF: 2NF + no transitive dependency (non-key → non-key).
- BCNF: Every determinant is a superkey — stricter than 3NF.
Exam trick
If a non-key attribute depends on only part of a composite key, it is a 2NF violation. If it depends on another non-key attribute, it is a 3NF violation.