正規化




目次

演算式


  • 直積(×)

  • 商(÷)

  • 差(ー)

関係属性


関係属性には下記5パターンが存在します。

  • 関数従属(X→Y)

  • 部分関数従属(X→Y)

  • 完全関数従属(X→Y)

  • 推移関数従属

    推移関数従属の関係

    推移関数従属でない関係

  • 完全推移関数従属

    完全推移関数従属の関係

    完全推移関数従属でない関係

非正規化


非正規化とは、関係の要素の中に繰り返しグループを含んでいる様な関係です。

正規化


正規化とは、関係の要素の中に繰り返しグループを含んでいない関係です。冗長性を排除して更新異常を防止し、登録、更新回数を減らせます。

  • 第一正規化(1NF)

    全ての属性が単純属性で(反復するデータ項目がない)、繰り返しグループ(非単純定義域)を一つも含まない関係です。

  • 第二正規化(2NF)

    第一正規化であるうえに、全ての非キー属性が候補キーに対して部分関数従属していない関係(完全関数従属)です。つまり、主キーとなる列が決まれば他の列の値が決まります。

  • 第三正規化(3NF)

    第二正規化であるうえに、全ての非キー属性が候補キーに対して推移的関数従属していない関係(完全関数従属)です。つまり、主キーとなる列以外の値によって他の列の値が決まることがない。

  • 第四正規化(4NF)

  • 第五正規化(5NF)

  • ボイスコット正規化 (BCNF:Boyce-Codd Normal Form)

    全ての列が主キーに完全関数従属で、他に完全関数従属していない関係で、必ずしも関数従属性を保存した形に分解できません。

多重属性


フライト番号 →  乗員名|乗客名