Previous: 第三正規形
Up: データベースの論理設計
Next: 多値従属
Previous Page: 第三正規形
Next Page: 多値従属
ここで、最初に見たテーブルを解釈を含めて少し変えてみよう。テーブルについて 言えば、以前「第二正規化」の際に、別テーブルに分割された、項目「所属」が取り 除かれている。このテーブルは、以前の同姓同名の人物が存在しうるという解釈の もとでは、主キーの候補たりうるのは、(学生番号、履修科目)の組のみであって、 キー項目ではない「氏名」が、主キーの一部である、「学生番号」に、従属するので 第二正規化されねばならないことになる。
学生番号 氏名 履修科目 点数 ----------- ------------- ----------- ------ 0001 丸山不二夫 UNIX 88 0001 丸山不二夫 C 53 0001 丸山不二夫 OA 30 0002 山田太郎 UNIX 92 0002 山田太郎 C 78 0002 山田太郎 OA 72 ----------- ------------- ----------- ------
ところで、解釈を改めて、このデータベースの対象には、同姓同名の人間がいないと
仮定すると、状況は少し変わってくる。こうした時、主キーの候補が二つ存在する
こととなる。すなわち、(学生番号、履修科目)の組と、(氏名、履修科目)の組で
ある。この時、「キー項目以外の項目が、キー全体に従属する」という「第二正規形」
の要件をこのテーブルは満たすことになる。なぜなら、新しい解釈のもとでは、
キー項目以外の項目は、項目「点数」以外には、存在せず、項目「氏名」は、それ自身
キー項目の一部であり、もはやキー項目以外の項目ではなくなっているからである。
そればかりではない。キー項目以外の項目が「点数」一つしかないのだから、「すべ
てのキー項目以外の項目が、主キーに直接従属している」という、「第三正規形」の
要請も、自動的に満たされているのである。
先のテーブルは、新しい解釈のもとでは、第三正規化されたテーブルということに
なってしまう。明らかに、このテーブルは冗長である。にもかかわらず、これまでの
「正規化」の要件を満たしている。
「全ての決定要素(determinant)がcandidateキーになっている」
「Boyce-Codd 正規形」とは、候補キーだけが、項目の組を一意に決定することである。
maruyama@wakhok.ac.jp