Lesson 1.2

Normalisation in practice

Normalisation is one idea applied repeatedly: store each fact once.

29mIntermediate16k students

Overview

Every fact in exactly one place

Normalisation is one idea applied repeatedly: store each fact once. Storing a customer address on every order means an address change updates some rows and not others, and now the data disagrees with itself.

A well-normalised schema makes writes safe and joins routine. Modern databases join efficiently; the fear of joins is usually inherited rather than measured.

Denormalising is legitimate when you have measured a problem you cannot solve otherwise. It is a trade you make consciously, and it comes with the obligation to keep the copies in sync.

In this lesson you will:

  • Remove duplicated facts from a schema
  • Recognise an update anomaly
  • Denormalise deliberately, with a reason

Resources

Previous Lesson
Next Lesson
Normalisation in practice — PostgreSQL for Application Developers — Vertex