正規化
ナビゲーションに移動
検索に移動
正規化(normalization)
Database |
第1正規形(1NF)
定義 | 条件 |
---|---|
関係Rがその属性に非単純定義域(繰返しグループ)をひとつも含まないもの | 繰返しグループの排除 |
- フラットな表に変換
- 繰返し部分を分解(繰返しグループに元の主キーを埋め込んで関係を分解)
第2正規形(2NF)
定義 | 条件 |
---|---|
関係Rが第1正規形である。関係Rのキー以外の属性はすべて、関係Rの各候補キーに完全関数従属である | 部分関数従属の排除 |
第3正規形(3NF)
定義 | 条件 |
---|---|
係Rが第2正規形である。関係Rのキー以外の属性はすべて、関係Rの各候補キーに推移関数従属しない | 推移関数従属の排除 |
ボイス-コッドの第3正規形(BCNF)
定義 |
---|
関係Rが第1正規形である。関数従属のすべての決定項は候補キーである |
第4正規形(4NF)
定義 |
---|
関係Rが第1正規形である。関係Rには自明な多値従属しか存在しない |
多値従属性
- 属性 X の実現値がきまると属性 Z が決まるとき、 属性 X に属性集合 Yを加えて決まる属性も同じ実現値を持つとき、 属性 Z は属性 X に多値従属である
- X →→ Z と表記
- X →→ Y も成り立つ場合、対象性のある多値従属性、自明でない多値従属性といい X →→ Y|Z と表記
- 要するに、Y , Z 値の集合が X 値のみに依存しそれぞれ Y , Z 値と独立している。
関数従属は X →→ Y の場合、Y 側は Y 値の集合が対応するが、X → Y の場合 Y 側はただ1つの値にに決まるという意味で、多値従属の特殊な場合である (多値従属は、関数従属の一般化)
- 完全正規型
第5正規形(5NF)
定義 |
---|
関係R( X1 , X2 , ・・・ Xm )を射影により分解した関係を R1( X1 ) , R2( X2 ) , ・・・ Rm( Xm )とする。 R1 , R2 , ・・・ Rm を自然結合により結合すると、意味的妥当性をもって元の関係Rが得られる場合、 R と R1 , R2 , ・・・ Rm の間に結合従属性があるという。 再結合するともとの関係を生成できるような射影により得られる R1,R2,・・・Rm を第5正規形という。 |
- 完全正規型
参考
http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/c0004752.htm
© 2006 矢木浩人