○正規化

リレーショナルデータベースでは、データのメンテナンス性を高めるなどの目的から、データベース内で同じ情報が2回以上記録されず、 テーブルひとつひとつは主キーから直接連想されるデータのみで構成されるよう設計するのが理想とされている。


■正規化されていないテーブル(複数の値が一つのレコードに記録されている)
データ中に繰り返し項目を含んでおり,リレーショナルデータベース上でデータを正しく扱えないような状態。(DATAの集計が出来ない)

主キー 分類コード 分類名 DATA DATA DATA DATA



■第1正規化
繰り返しなどのデータを見つけてそれを解消
他のフィールドから値を算出することができるデータを排除

主キー 分類コード 分類名 DATA
主キー 分類コード 分類名 DATA
主キー 分類コード 分類名 DATA
主キー 分類コード 分類名 DATA



■第2正規化
主キーが決まれば他の列の値も決まるようにする(主キーに対して完全関数従属)

主キー 分類コード 分類名

主キー DATA
主キー DATA
主キー DATA
主キー DATA



■第3正規化
キーにできる項目を、片っ端からキーとして、別の表に分離(推移関数従属関係を除去)

第3正規化は常に実用性があるとは限りません
小さいテーブルを数多く作成することになり、パフォーマンスや作業効率の低下を招く場合があります。

主キー 分類コード

分類コード 分類名

主キー DATA
主キー DATA
主キー DATA
主キー DATA


▲トップページ > SQL 関連