🗃️ Why Can't I Just Use One Big Spreadsheet?

Database Normalisation

When you store data in one big table, things go wrong fast — repeated data, update mistakes, wasted space. Normalisation fixes this by splitting data into linked tables.

CS A-Level Unit 4 DigiTech A-Level Unit 3

🤔 What's the problem?

Imagine a school stores everything in one spreadsheet: student name, tutor, tutor's email, subject, grade — all in one row. If a tutor changes email, you'd have to update it in every single row that mentions them. Miss one and you have conflicting data. Normalisation prevents this.

📂

Choose an example

Before: Unnormalised (UNF) — one big messy table

1️⃣

First Normal Form (1NF) — no repeating groups

Rule: Every cell contains only one value (no lists, no multiple items crammed into one cell). Each row is unique.

What changed:
2️⃣

Second Normal Form (2NF) — remove partial dependencies

Rule: Everything in 1NF + every non-key column depends on the whole primary key, not just part of it.

What changed:
3️⃣

Third Normal Form (3NF) — remove transitive dependencies

Rule: Everything in 2NF + non-key columns don't depend on other non-key columns. Every fact is stored in exactly one place.

What changed:
📝 Quick reference
FormRule (plain English)What it fixes
1NFNo lists in cells. Each row is unique.Repeating groups
2NFEvery column relates to the WHOLE key.Partial dependencies
3NFNo column depends on another non-key column.Transitive dependencies
📝 Exam tip memory trick: "The key, the whole key, and nothing but the key" — 1NF (has a key), 2NF (depends on the whole key), 3NF (depends on nothing but the key).