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

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
2,648 バイト追加 、 2020年2月15日 (土) 07:29
ページの作成:「==正規化(normalization)== [Database] ===第1正規形(1NF) === {|class="wikitable" !定義 !条件 |- |関係Rがその属性に非単純定義域(繰返し…」
==正規化(normalization)==
[Database]

===第1正規形(1NF) ===

{|class="wikitable"
!定義
!条件
|-
|関係Rがその属性に非単純定義域(繰返しグループ)をひとつも含まないもの
|繰返しグループの排除
|-
|}

*フラットな表に変換
*繰返し部分を分解(繰返しグループに元の主キーを埋め込んで関係を分解)

===第2正規形(2NF) ===
{|class="wikitable"
!定義
!条件
|-
|関係Rが第1正規形である。関係Rのキー以外の属性はすべて、関係Rの各候補キーに完全関数従属である
|部分関数従属の排除
|-
|}

===第3正規形(3NF) ===
{|class="wikitable"
!定義
!条件
|-
|係Rが第2正規形である。関係Rのキー以外の属性はすべて、関係Rの各候補キーに推移関数従属しない
|推移関数従属の排除
|-
|}

===ボイス-コッドの第3正規形(BCNF) ===
{|class="wikitable"
!定義
|-
|関係Rが第1正規形である。関数従属のすべての決定項は候補キーである
|-
|}

===第4正規形(4NF) ===
{|class="wikitable"
!定義
|-
|関係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) ===
{|class="wikitable"
!定義
|-
|関係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

案内メニュー