従業員の、従業員番号、氏名及び使用できるプログラム言語を管理するために、“従業員”表及び“プログラム言語”表を設計する。 “プログラム言語を2種類以上使用できる従業員がいる。 プログラム言語を全く使用できない従業員もいる。” という状況を管理する“プログラム言語”表の設計として、適切なものはどれか。 ここで、実線の下線は主キーを表す。
[従業員表]
従業員 (従業員番号, 氏名)
| ア | プログラム言語(氏名, プログラム言語) |
| イ | プログラム言語(従業員番号, プログラム言語) |
| ウ | プログラム言語(従業員番号, プログラム言語) |
| エ | プログラム言語(従業員番号, プログラム言語) |
答え エ
【解説】
“プログラム言語”表に必要な情報(項目)はプログラム言語の情報と従業員の情報であり、従業員の情報は“従業員”表の主キーである「従業員番号」になる。
問題文の「プログラム言語を2種類以上使用できる従業員がいる」から“プログラム言語”表のプログラム言語と従業員番号は両方とも同じ値が複数存在する(ユニークな情報ではない)ので、どちらか一方では主キーにならないので、“プログラム言語”表は
プログラム言語(従業員番号, プログラム言語)
(エ)である。
【キーワード】
・主キー