Database Normalization
Study Notes • Exam Revision • Examples • Practice MCQs • October 21, 2026
1. What Is Database Normalization?
Database normalization is the process of organizing tables and relationships to reduce unnecessary data duplication
and prevent update, insertion, and deletion anomalies. It typically divides a large table into smaller related tables and
connects them with keys.
Main goals
• Reduce duplicate data.
• Improve data consistency and integrity.
• Make updates safer and easier.
• Represent relationships clearly through primary and foreign keys.
2. Database Anomalies
Anomaly Meaning Example
Insertion A fact cannot be added without an unrelated Cannot add a new course unless a student enrolls.
fact.
Update The same fact must be changed in several A lecturer's office number is updated in only some
rows. rows.
Deletion Removing one record accidentally removes Deleting the last enrollment also removes course
another useful fact. information.
3. Important Terms
Primary key: A column or set of columns that uniquely identifies each row.
Foreign key: A column or set of columns that references a key in another table.
Functional dependency: X → Y means the value of X determines the value of Y.
Candidate key: A minimal set of attributes that uniquely identifies a row.
Composite key: A key made from two or more attributes.
Transitive dependency: A dependency where a non-key attribute depends on another non-key attribute through an
intermediate attribute.
4. Normal Forms
First Normal Form (1NF) — Each cell contains a single, atomic value; there are no repeating groups or multi-valued
columns.
Second Normal Form (2NF) — The table is in 1NF and every non-key attribute depends on the whole candidate
key, not just part of a composite key.
Third Normal Form (3NF) — The table is in 2NF and has no inappropriate transitive dependency of non-key
attributes on a key. In the formal definition, for every non-trivial FD X → A, X is a superkey or A is a prime attribute.
Boyce–Codd Normal Form (BCNF) — For every non-trivial functional dependency X → Y, X must be a superkey.
BCNF is stricter than 3NF.
Study Notes • Exam Revision • Examples • Practice MCQs • October 21, 2026
1. What Is Database Normalization?
Database normalization is the process of organizing tables and relationships to reduce unnecessary data duplication
and prevent update, insertion, and deletion anomalies. It typically divides a large table into smaller related tables and
connects them with keys.
Main goals
• Reduce duplicate data.
• Improve data consistency and integrity.
• Make updates safer and easier.
• Represent relationships clearly through primary and foreign keys.
2. Database Anomalies
Anomaly Meaning Example
Insertion A fact cannot be added without an unrelated Cannot add a new course unless a student enrolls.
fact.
Update The same fact must be changed in several A lecturer's office number is updated in only some
rows. rows.
Deletion Removing one record accidentally removes Deleting the last enrollment also removes course
another useful fact. information.
3. Important Terms
Primary key: A column or set of columns that uniquely identifies each row.
Foreign key: A column or set of columns that references a key in another table.
Functional dependency: X → Y means the value of X determines the value of Y.
Candidate key: A minimal set of attributes that uniquely identifies a row.
Composite key: A key made from two or more attributes.
Transitive dependency: A dependency where a non-key attribute depends on another non-key attribute through an
intermediate attribute.
4. Normal Forms
First Normal Form (1NF) — Each cell contains a single, atomic value; there are no repeating groups or multi-valued
columns.
Second Normal Form (2NF) — The table is in 1NF and every non-key attribute depends on the whole candidate
key, not just part of a composite key.
Third Normal Form (3NF) — The table is in 2NF and has no inappropriate transitive dependency of non-key
attributes on a key. In the formal definition, for every non-trivial FD X → A, X is a superkey or A is a prime attribute.
Boyce–Codd Normal Form (BCNF) — For every non-trivial functional dependency X → Y, X must be a superkey.
BCNF is stricter than 3NF.