|
|
1行目: |
1行目: |
| ==正規化(normalization)== | | ==正規化(normalization)== |
− | | [[Database]]
| + | [[Database]] | |
| | | |
| ===第1正規形(1NF) === | | ===第1正規形(1NF) === |
2020年2月15日 (土) 08:33時点における版
正規化(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