Normalisation

Context: FIT2094_MOC · a systematic process refining relations via keys and FDs · UNF → 1NF → 2NF → 3NF · removes anomalies

Quick Revision

  • 🎯 Objective: refine relations by keys + FDs to remove anomalies ➔ bottom-up design.
  • 📦 Core Components: UNF → 1NF (repeating groups) → 2NF (partial) → 3NF (transitive).
  • ⚡ Key Constraint: each removal spins off a new relation with a PK/FK pair; minimal (not zero) redundancy.

📝 Core

1. The Process

  • Definition ➔ progressive refinement analysing keys + FDs.
  • Bottom-up ➔ builds a schema from forms; also validates top-down ER designs.
  • Scope ➔ this unit stops at 3NF.

2. The Progression

  • UNF → 1NF ➔ identify PK, remove repeating groups.
  • 1NF → 2NF ➔ remove partial dependencies.
  • 2NF → 3NF ➔ remove transitive dependencies.
  • Each removal ➔ creates a new relation; moved key stays as an FK.

3. Goals

  • Valid relations ➔ entity + referential integrity, no M:N, atomic cells.
  • Single subject per table ➔ each fact stored once (minimal redundancy).
  • Anomaly-free ➔ no insert/update/delete anomalies.

⚙️ Core Implementation

🔹 Resulting 3NF relations (PART)

⚖️ Core Decision Matrix

StepRemovesCreates
UNF→1NFrepeating groupsnew relation + PK
1NF→2NFpartial dependenciesnew relation
2NF→3NFtransitive dependenciesnew relation
resultanomaliessingle-subject relations

When It Flips: normalise each supplied form independently UNF→3NF, then synthesise (merge overlapping 3NF relations). It both builds a schema from forms and validates one from an ER model — the two design directions meet at 3NF.

📊 Exam Execution Trace

Manual Execution Trace

Progression:

Step / StateFormRemoves
0 (Init)UNF
11NFrepeating groups
22NFpartial dependencies
33NFtransitive dependencies

Applied Exercise

Problem: State what each normalisation step removes. Derivation Proof / Hand-Calculation Walkthrough:

Final Extracted Output: each step spins off a new relation, moved key left as an FK.

🧠 Active Recall