正規化

正規化とは

データベースの正規化とは、同一テーブル内のデータの重複をなくすために、適宜データを分割・整理することです。冗長データを削除し、データベースの整合性と可用性を向上させます。

上の表を見てください。一見各属性にデータが入ったちゃんとしたテーブルに見えますが、注文という属性と数量という属性が複数あったりと、非常に煩雑です。注文1と数量1という属性名でデータ同士が紐づいているのでしょうか?このようなデータの格納をしていると使い手のアプリケーションがデータベース構成をかなり意識することになります。

正規化のメリットは、重複を排除することでデータの不整合が起きるリスクを減らせることです。

第1正規形

第1正規形では、同一行内での繰り返しをなくします。

第2正規形

第2正規形では、ある属性を識別するための項目である主キーとすることでテーブルとします。

属性の部分関係からテーブルを分離します

第3正規形

第3正規形では、テーブル内の一部の属性がキーでない項目によって決定されることです。

属性の部分関係からテーブルをさらに分離します。