| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「正規化」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
1行目: 1行目:
==正規化(normalization)==
+
==[[正規化]](normalization)==
 
[[Database]] |  
 
[[Database]] |  
  
8行目: 8行目:
 
!条件
 
!条件
 
|-
 
|-
|関係Rがその属性に非単純定義域(繰返しグループ)をひとつも含まないもの
+
|関係[[R]]がその属性に非単純定義域(繰返しグループ)をひとつも含まないもの
 
|繰返しグループの排除
 
|繰返しグループの排除
 
|-
 
|-
21行目: 21行目:
 
!条件
 
!条件
 
|-
 
|-
|関係Rが第1正規形である。関係Rのキー以外の属性はすべて、関係Rの各候補キーに完全関数従属である
+
|関係[[R]]が第1正規形である。関係[[R]]のキー以外の属性はすべて、関係[[R]]の各候補キーに完全関数従属である
 
|部分関数従属の排除
 
|部分関数従属の排除
 
|-
 
|-
31行目: 31行目:
 
!条件
 
!条件
 
|-
 
|-
|係Rが第2正規形である。関係Rのキー以外の属性はすべて、関係Rの各候補キーに推移関数従属しない
+
|係[[R]]が第2正規形である。関係[[R]]のキー以外の属性はすべて、関係[[R]]の各候補キーに推移関数従属しない
 
|推移関数従属の排除
 
|推移関数従属の排除
 
|-
 
|-
40行目: 40行目:
 
!定義
 
!定義
 
|-
 
|-
|関係Rが第1正規形である。関数従属のすべての決定項は候補キーである
+
|関係[[R]]が第1正規形である。関数従属のすべての決定項は候補キーである
 
|-
 
|-
 
|}
 
|}
48行目: 48行目:
 
!定義
 
!定義
 
|-
 
|-
|関係Rが第1正規形である。関係Rには自明な多値従属しか存在しない
+
|関係[[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 )を射影により分解した関係を R1( X1 ) , R2( X2 ) , ・・・ Rm( Xm )とする。 R1 R2 , ・・・ Rm を自然結合により結合すると、意味的妥当性をもって元の関係Rが得られる場合、 R と R1 R2 , ・・・ Rm の間に結合従属性があるという。 再結合するともとの関係を生成できるような射影により得られる R1,R2,・・・Rm を第5正規形という。  
+
|関係[[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が得られる場合、 RR1 , R2 , ・・・ Rm の間に結合従属性があるという。 再結合するともとの関係を生成できるような射影により得られる R1,R2,・・・Rm を第5正規形という。

参考

http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/c0004752.htm