
では次に、このテーブルにもう一つ、「製品コード」という列を追加してみましょ
う。これは、社員が開発に当たっている製品を表わすもので、一人の社員が複数の
製品開発に携わることもあれば、一つの製品を複数の社員が共同開発していること
もあります。
000A 001 P1
000A 001 P2
000B 001 P1
000B 002 P1
001F 001 P2
001F 002 P2
003O 002 P2
003O 002 P3
この「社員 - チーム- 製品」テーブルにおいても、やはり第3 正規形(およびボイ
ス-コッド正規形)が成立していることを確認しておきましょう。{ 社員 ID, チーム
コード, 製品コード }の3列で主キーが構成されるため、やはり主キーだけのテー
ブルということになります(このように主キーだけで構成されうるのは、関連エン
ティティの特徴です。もちろん、主キー以外の属性を関連エンティティが持つこと
もありえますが)。
しかし、「社員-チーム-製品」テーブルには、これまで見てきた下位の正規形
において発生してきたのと同様、更新時の問題が発生します。たとえば、社員
「000A」がチームを「001」から「002」へ異動することになった場合、複数行に
対する更新が発生します。これはデータの保持が冗長であることを意味しており、 ...