「正規化」の版間の差分
ナビゲーションに移動
検索に移動
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
− | ==正規化(normalization)== | + | ==[[正規化]](normalization)== |
− | + | [[Database]] | | |
===第1正規形(1NF) === | ===第1正規形(1NF) === | ||
8行目: | 8行目: | ||
!条件 | !条件 | ||
|- | |- | ||
− | | | + | |関係[[R]]がその属性に非単純定義域(繰返しグループ)をひとつも含まないもの |
|繰返しグループの排除 | |繰返しグループの排除 | ||
|- | |- | ||
21行目: | 21行目: | ||
!条件 | !条件 | ||
|- | |- | ||
− | | | + | |関係[[R]]が第1正規形である。関係[[R]]のキー以外の属性はすべて、関係[[R]]の各候補キーに完全関数従属である |
|部分関数従属の排除 | |部分関数従属の排除 | ||
|- | |- | ||
31行目: | 31行目: | ||
!条件 | !条件 | ||
|- | |- | ||
− | | | + | |係[[R]]が第2正規形である。関係[[R]]のキー以外の属性はすべて、関係[[R]]の各候補キーに推移関数従属しない |
|推移関数従属の排除 | |推移関数従属の排除 | ||
|- | |- | ||
40行目: | 40行目: | ||
!定義 | !定義 | ||
|- | |- | ||
− | | | + | |関係[[R]]が第1正規形である。関数従属のすべての決定項は候補キーである |
|- | |- | ||
|} | |} | ||
48行目: | 48行目: | ||
!定義 | !定義 | ||
|- | |- | ||
− | | | + | |関係[[R]]が第1正規形である。関係[[R]]には自明な多値従属しか存在しない |
|- | |- | ||
|} | |} | ||
59行目: | 59行目: | ||
関数従属は X →→ Y の場合、Y 側は Y 値の集合が対応するが、X → Y の場合 Y 側はただ1つの値にに決まるという意味で、多値従属の特殊な場合である (多値従属は、関数従属の一般化) | 関数従属は X →→ Y の場合、Y 側は Y 値の集合が対応するが、X → Y の場合 Y 側はただ1つの値にに決まるという意味で、多値従属の特殊な場合である (多値従属は、関数従属の一般化) | ||
− | *完全正規型 | + | *[[完全正規型]] |
===第5正規形(5NF) === | ===第5正規形(5NF) === | ||
65行目: | 65行目: | ||
!定義 | !定義 | ||
|- | |- | ||
− | | | + | |関係[[R]]( X1 , X2 , ・・・ Xm )を射影により分解した関係を [[R]]1( X1 ) , [[R]]2( X2 ) , ・・・ [[R]]m( Xm )とする。 [[R]]1 , [[R]]2 , ・・・ [[R]]m を自然結合により結合すると、意味的妥当性をもって元の関係[[R]]が得られる場合、 [[R]] と [[R]]1 , [[R]]2 , ・・・ [[R]]m の間に結合従属性があるという。 再結合するともとの関係を生成できるような射影により得られる [[R]]1,[[R]]2,・・・[[R]]m を第5正規形という。 |
|- | |- | ||
|} | |} | ||
− | *完全正規型 | + | *[[完全正規型]] |
===参考=== | ===参考=== | ||
http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/c0004752.htm | http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/c0004752.htm |
2020年2月16日 (日) 04:20時点における最新版
目次
正規化(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 矢木浩人