Previous: 第三正規形
Up: データベースの論理設計
Next: 多値従属
Previous Page: 第三正規形
Next Page: 多値従属

Boyce-Codd 正規形

ここで、最初に見たテーブルを解釈を含めて少し変えてみよう。テーブルについて 言えば、以前「第二正規化」の際に、別テーブルに分割された、項目「所属」が取り 除かれている。このテーブルは、以前の同姓同名の人物が存在しうるという解釈の もとでは、主キーの候補たりうるのは、(学生番号、履修科目)の組のみであって、 キー項目ではない「氏名」が、主キーの一部である、「学生番号」に、従属するので 第二正規化されねばならないことになる。

学生番号      氏名        履修科目    点数        
  ----------- ------------- ----------- ------
       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
1995年02月10日 (金) 00時49分16秒 JST