完全正規型
正規化のルール
「業務別データベース設計のためのデータモデリング入門」によれば、以下の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と書き表す。
- 自明な多値従属
属性Xに多値従属する属性Yが空集合
normalform01.jpg(1148)
normalform01.jpg(1148)
指定されたパートは存在しません。
YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto
Copyright© 矢木 浩人 All Rights Reserved.