正規化とは?
正規化とは、データベースの表を、重複や矛盾が起きにくい形に整理する設計手法です。合言葉は「1つの事実は1か所に」。同じ情報をあちこちに持たないようにします。
ふつうは段階を追って進めます。第1正規形で1マス1値(繰り返しをなくす)にし、第2正規形で主キーの一部だけで決まる項目を分離、第3正規形で主キー以外から決まる項目を分離します。
正規化されていないと、たとえば取引先の住所を複数行に持ってしまい、住所変更のときに一部だけ直し忘れて矛盾する(更新時異常)といった問題が起きます。正規化はこれを防ぎます。ただし分割しすぎると結合(JOIN)が増えて処理が重くなるため、性能とのバランスで、あえて崩す(非正規化)こともあります。
基本情報技術者試験では、第1〜第3正規形の判定、関数従属、更新時異常が定番です。
🔗 関連:データベース正規化をやさしく図解 / SQL入門 / トランザクション / 用語辞典トップ