○正規化
リレーショナルデータベースでは、データのメンテナンス性を高めるなどの目的から、データベース内で同じ情報が2回以上記録されず、
テーブルひとつひとつは主キーから直接連想されるデータのみで構成されるよう設計するのが理想とされている。
■正規化されていないテーブル(複数の値が一つのレコードに記録されている)
データ中に繰り返し項目を含んでおり,リレーショナルデータベース上でデータを正しく扱えないような状態。(DATAの集計が出来ない)
主キー |
分類コード |
分類名 |
DATA |
DATA |
DATA |
DATA |
■第1正規化
繰り返しなどのデータを見つけてそれを解消
他のフィールドから値を算出することができるデータを排除
主キー |
分類コード |
分類名 |
DATA |
主キー |
分類コード |
分類名 |
DATA |
主キー |
分類コード |
分類名 |
DATA |
主キー |
分類コード |
分類名 |
DATA |
■第2正規化
主キーが決まれば他の列の値も決まるようにする(主キーに対して完全関数従属)
主キー |
DATA |
主キー |
DATA |
主キー |
DATA |
主キー |
DATA |
■第3正規化
キーにできる項目を、片っ端からキーとして、別の表に分離(推移関数従属関係を除去)
第3正規化は常に実用性があるとは限りません
小さいテーブルを数多く作成することになり、パフォーマンスや作業効率の低下を招く場合があります。
主キー |
DATA |
主キー |
DATA |
主キー |
DATA |
主キー |
DATA |
▲トップページ
>
SQL 関連