Simulators

Database Normalisation

A-Level
Scenario
Mode

A school stores data about students, the courses they take, and the teachers who teach each course. The original data is held in a single flat file.

StudentCourses
StudentID
StudentName
DateOfBirth
CourseID
CourseName
TeacherID
TeacherName
TeacherEmail
Grade
S01Alice Smith2007-03-12CS1ComputingT01Mr Daviesdavies@sch.ukA
S01Alice Smith2007-03-12MA1MathsT02Ms Patelpatel@sch.ukB
S02Bob Jones2007-09-05CS1ComputingT01Mr Daviesdavies@sch.ukB
S02Bob Jones2007-09-05EN1EnglishT03Mr Brownbrown@sch.ukA
S03Cara Lee2008-01-20MA1MathsT02Ms Patelpatel@sch.ukA

Update Anomaly

Changing one fact (e.g. a teacher's email) requires updating every row that contains it. If any row is missed, the data becomes inconsistent.

Insert Anomaly

You cannot record a new item (e.g. a new course) without also inserting other data (e.g. a student enrolment). This forces artificial or incomplete rows.

Delete Anomaly

Deleting a record unintentionally loses other data. E.g. deleting a student's last course removes all their personal information from the database.

Exam Tip

State the anomaly type AND give a specific example: "If a teacher changes their email address, every row for that teacher must be updated. Missing one row causes inconsistency."

Key Concepts

What is a flat file?

A single table storing all data together. No separate tables, no defined relationships, just rows and columns.

Why normalise?

Normalisation removes redundancy and anomalies. Each fact is stored in exactly one place, making updates, inserts, and deletes safe and consistent.

Normal Forms

UNFNo PK; data may repeat
1NFPK defined; all values atomic
2NFNo partial dependencies
3NFNo transitive dependencies