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

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
2,423 バイト追加 、 2020年2月15日 (土) 07:29
ページの作成:「==完全正規型== [Database][正規化] ===正規化のルール=== 「業務別データベース設計のためのデータモデリング入門」によれば…」
==完全正規型==
[Database][正規化]

===正規化のルール===
「業務別データベース設計のためのデータモデリング入門」によれば、以下の3つのルールを満たせば、「第5正規型」となる。
=====入れ子構造の解消=====
エンティティ内の繰り返し項目や、内部構造を解消する。

非正規型 → 第1正規型

=====冗長な関数従属性の排除=====
エンティティの識別子全体から、それぞれの属性項目に対するもの以外の関数従属性を排除する。

第1正規型 → BC正規型

__d1,d2__,d3,d4

というエンティティがある場合、成立すべき関数従属性は、以下の2つのみ

{d1,d2}→d3
{d1,d2}→d4

以下のような従属性が成立してはいけない

d1→d2
d2→d1
d3→d1
d3→d2
d4→d1
d4→d2
{d1,d3}→d2
:

=====有効な識別子の網羅=====
有効な識別子が網羅され、それぞれの識別子毎にエンティティが最低1個用意されなければならない
BC正規型 → 第4正規型 → 第5正規型
独立すべきエンティティが属性項目を含まないために、「埋没」してしまうことがありうる。

*BC正規型 → 第4正規型
本来は E2、E3の組み合わせであるべきエンティティが、E1と分析されることはよくある。
E1{__d1,d2,d3__}

E2{__d1,d2__}
E3{__d2,d3__}

*第4正規型 → 第5正規型
属性を持たないため、d1,d2の関係が埋没している
E1{__d1,d2,d3__,d4,d5}

E2{__d1,d2__}
E3{__d1,d2,d3__,d4,d5}

===第4正規型===
=====第4正規型=====
関係Rは第1正規型
関係Rには自明な多値従属しか存在しない

=====多値従属=====
下図の部品名は、候補キーである、{部品番号,製造番号}に従属しているので第3正規型は満たしている。
だが、実際には、部品名が、{部品番号}にも従属している場合、{部品番号,製造番号}および{部品番号}に従属していると言う意味で、多値従属といい、X→→Yと書き表す。

[[File:0053_normalform01.jpg]]

=====自明な多値従属=====
属性Xに多値従属する属性Yが空集合

----
{{amazon|4534032501}}
{{amazon|4890194835}}
{{amazon|4767307554}}
{{ref normalform01.jpg}}
{{ref normalform01.jpg}}
{{attach}}
----
{{include_html banner_html, "!Database"}}

案内メニュー