Show an understanding of the normalisation process and how it is used to design efficient, anomaly‑free relational databases.
Why Normalise?
Eliminate redundant data
Reduce update, insertion and deletion anomalies
Improve data integrity and consistency
Facilitate easier maintenance and extension of the database
Key Concepts
Normalisation is based on the idea of organising data into tables (relations) so that each table represents a single entity or relationship and satisfies a series of normal forms. Each normal form imposes stricter rules on the structure of the table.
Functional Dependency
A functional dependency (FD) is written as \$X \rightarrow Y\$, meaning that the value of attribute set \$X\$ uniquely determines the value of attribute set \$Y\$.
Normal Forms Overview
First Normal Form (1NF)
All attribute values are atomic (indivisible).
No repeating groups or arrays.
Second Normal Form (2NF)
Table must be in 1NF.
Every non‑prime attribute is fully functionally dependent on the whole primary key (no partial dependencies).
Third Normal Form (3NF)
Table must be in 2NF.
No transitive dependencies: non‑prime attributes must depend directly on the primary key, not on other non‑prime attributes.
Boyce‑Codd Normal Form (BCNF)
Every determinant is a candidate key.
Stricter than 3NF; resolves certain anomalies that 3NF does not.
Step‑by‑Step Normalisation Example
Consider a university course enrolment table:
StudentID
StudentName
CourseCode
CourseTitle
Lecturer
Semester
101
Alice
C101
Programming
Dr. Smith
Fall
102
Bob
C101
Programming
Dr. Smith
Fall
101
Alice
C202
Databases
Prof. Lee
Spring
1. Check 1NF
The table already stores atomic values, so it satisfies 1NF.