アラフィフオヤジ
令和5年度 秋期 データベーススペシャリスト試験 午前Ⅱ試験 問5を解いてみましょう。
テクノロジ系 >> データベース >> データベース設計
問題
従業員番号と氏名と使用できるプログラム言語を管理するために、”従業員”表及び”プログラム言語”表を設計する。”プログラム言語を2種類以上使用できる従業員がいる。プログラム言語を全く使用できない従業員もいる。”という状況を管理する”プログラム言語”表の設計として、適切なものはどれか。ここで、実線の下線は主キーを表す。
〔従業員表〕
従業員(従業員番号,氏名)
ア プログラム言語(氏名,プログラム言語)
イ プログラム言語(従業員番号,プログラム言語)
ウ プログラム言語(従業員番号,プログラム言語)
エ プログラム言語(従業員番号,プログラム言語)
解説
アラフィフオヤジ
正解は「エ」です。
アは、氏名が主キーになっていますが、プログラム言語を2種類以上使用できる従業員がいる場合、氏名だけでは1つのレコードを特定することができません。
イは、プログラム言語が主キーになっていますが、プログラム言語を全く使用できない従業員がいる場合、プログラム言語が空欄のレコードが作成されてしまいます。
ウは、従業員番号が主キーになっていますが、プログラム言語を2種類以上使用できる従業員がいる場合、従業員番号だけでは1つのレコードを特定することができません。
エは、従業員番号とプログラム言語の組み合わせが主キーになっています。このため、プログラム言語を2種類以上使用できる従業員がいる場合でも、1つのレコードを特定することができます。また、プログラム言語を全く使用できない従業員がいる場合でも、主キーが空欄になることはありません。