令和7年度 秋期 データベーススペシャリスト試験 午前II 問4
従業員の、従業員番号、氏名及び使用できるプログラム言語を管理するために、“従業員” 表及び “プログラム言語” 表を設計する。“プログラム言語を 2 種類以上使用できる従業員がいる。プログラム言語を全く使用できない従業員もいる。” という状況を管理する “プログラム言語” 表の設計として、適切なものはどれか。ここで、実線の下線は主キーを表す。

キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:エ
-
ア: プログラム言語(氏名、プログラム言語)
誤り。主キーが氏名だけになっているため、同姓同名の従業員がいる場合に一意に区別できません。また、同じ氏名の従業員が複数のプログラム言語を使用できる場合、同じ氏名で複数行を登録することができず、条件を満たせません。 -
イ: プログラム言語(従業員番号、プログラム言語)
誤り。主キーがプログラム言語だけになっている設計です。この場合、同じプログラム言語を使用する従業員が複数いると、そのプログラム言語は 1 行しか登録できず、従業員との対応関係を正しく表現できません。 -
ウ: プログラム言語(従業員番号、プログラム言語)
誤り。主キーが従業員番号だけになっている設計です。この場合、1 人の従業員について 1 行しか登録できないので、複数のプログラム言語を使用できる従業員を表現できません。 -
エ: プログラム言語(従業員番号、プログラム言語)
正しい。従業員番号とプログラム言語の組を主キーとする複合キーの設計です。これにより、1 人の従業員が複数のプログラム言語を使用できる場合には、従業員番号は同じでプログラム言語が異なる複数行を登録できます。また、プログラム言語を全く使用できない従業員は、従業員表にのみ存在し、プログラム言語表に行を持たないことで表現できます。
答え
エ: プログラム言語(従業員番号、プログラム言語)
出典:令和7年度 秋期 データベーススペシャリスト試験 午前II 問4