データベースの正規化について

データベースの正規化とは

データベースの正規化とは、あるデータをある一定のルールに基づいて加工すること。

正規化の目的

  • データの追加・更新・削除に伴うデータの不整合や喪失を防ぐ
  • データのメンテナンス効率を高める

正規化の方法

データの冗長性(無駄なところ、重複箇所)をテーブルから排除する。

正規化の種類

正規化には非正規形、第1正規形、第2正規形、第3正規形、ボイスコッド正規形、第4正規形、第5正規形、が存在する。

  • 非正規形
    • 属性に単一でない値が含まれている
      • 属性:テーブルで言う「列」「カラム」のこと
  • 第1正規形
    • 全ての属性が単一の値をとり、部分関数従属が存在する
      • 部分関数従属:主キー項目の一部によって値が決定する関係
  • 第2正規形
    • 全ての属性が単一の値をとり、部分関数従属は存在しないが、推移的関数従属が存在する
      • 推移的関数従属:Xが決まればYが決まり、Yが決まればZが決まる関係
  • 第3正規形
    • 全ての属性が単一の値をとり、部分・推移的関数従属が共に存在しない
  • ボイスコッド正規形
    • 前提として第3正規形を満たし、存在する関数従属が自明であるか、または、決定項がスーパーキーであること
      • 自明:証明の必要が無く、関数従属になっている
      • スーパーキー:行を一意に特定できる属性または、属性の集合
      • 補足:基本的に普通に設計されたテーブルは、ボイスコッド正規形になる
  • 第4正規形
    • 前提としてボイスコッド正規形を満たし、多値従属性を含まない正規形
      • 多値従属性:Xの値が一つ決まれば、Yの値が1つ以上決まる性質
  • 第5正規形
    • 前提としてボイスコッド正規形を満たし、結合従属性を含まない正規形
      • 結合従属性:多値従属性が分解後に2つになるケースにおいて、さらに分解可能な状態・性質

コメント

タイトルとURLをコピーしました