社員の保有する資格を下表のようにまとめた。資格は、業務上の必要によりA〜Eの5段階にランク分けし、ランクに応じて申請により手当を支給している。この表を第三正規形に変換したとき、表の数は最少でいくつになるか。@〜Dの中から選べ。
┌───┬────┬───┬───┬─────┬────┬────┬───┐
│社員ID│ 社員名 │ 住所 │資格ID│ 資格名 │ 申請日 │資格ランク │手当額│
┝━━━┿━━━━┿━━━┿━━━┿━━━━━┿━━━━┿━━━━┿━━━┥
│ 00123│田中太郎│○○市│ 00011│第一種情報│1994/7/X│ C │ 6,000│
│ │ │ │ │処理技術者│ │ │ │
├───┼────┼───┼───┼─────┼────┼────┼───┤
│ 00123│田中太郎│○○市│ 00015│技術士 │2000/3/X│ A │10,000│
├───┼────┼───┼───┼─────┼────┼────┼───┤
│ 00254│佐藤三郎│△△町│ 00030│基本情報 │2005/7/X│ D │ 1,000│
│ │ │ │ │技術者 │ │ │ │
└───┴────┴───┴───┴─────┴────┴────┴───┘
@ 1 A 2 B 3 C 4 D 5
C
第三正規化は、テーブル内にある主キー以外の項目に従属する関係 (推移従属) を別テーブルに移し、どのテーブルもすべての属性が主キーに対して完全従属の状態にすることである。
主キーは社員IDと資格IDである。
社員名と住所は社員IDに関数従属するため、別テーブルとする。
また、資格名と資格ランクは資格IDに関数従属するため、別テーブルとする。
さらに、手当額は主キーではない資格ランクに推移従属するため、別テーブルとする。
従って第三正規形に変換すると以下のとおりとなる。
社員ID, 資格ID, 申請日
社員ID, 社員名, 住所
資格ID, 資格名, 資格ランク
資格ランク, 手当額
W−27 | 目次 | W−29 |