Normalizacja organizuje dane tak, by każdy fakt istniał w dokładnie jednym miejscu, usuwając nadmiarowość. Denormalizacja celowo duplikuje dane, by przyspieszyć odczyty. Większość schematów zaczyna jako znormalizowana i denormalizuje się tylko tam, gdzie wymagają tego pomiary.
Normalizacja (do 3NF)
Każda tabela opisuje jedną encję; powiązane dane są wskazywane kluczem obcym.
-- Normalized: a customer's city is stored once
customers(id, name, city_id)
cities(id, name)
orders(id, customer_id, total)
