normalizationは、各事実がちょうど1か所に存在するようデータを整理し、冗長性を取り除きます。denormalizationは、読み取りを速くするために意図的にデータを複製します。ほとんどのスキーマは正規化から始め、計測が求める箇所だけを非正規化します。
normalization(3NFまで)
各テーブルは1つのエンティティを表し、関連データは外部キーで参照します。
sql
-- Normalized: a customer's city is stored once
customers(id, name, city_id)
cities(id, name)
orders(id, customer_id, total)
