SkillStack
テクノロジ系4 / 25問

データベーススペシャリスト試験 令和7年度 秋期 午前II 問4

従業員の、従業員番号、氏名及び使用できるプログラム言語を管理するために、"従業員"表及び"プログラム言語"表を設計する。"プログラム言語を2種類以上使用できる従業員がいる。プログラム言語を全く使用できない従業員もいる。"という状況を管理する"プログラム言語"表の設計として、適切なものはどれか。ここで、実線の下線は主キーを表す。 〔従業員表〕 従業員(従業員番号、氏名)

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】エ

画像のエでは、従業員番号とプログラム言語の両方に下線があり、この二つを組み合わせた複合主キーになっています。例えば、同じ従業員について「Java」と「Python」を別々の行として登録できる一方、同じ従業員と言語の組合せは重複登録できません。また、使用できる言語がない従業員については、従業員表だけに行を登録し、プログラム言語表には行を登録しなければ表現できます。したがって、エが適切です。

アの設計は誤りです。氏名だけを主キーとしているため、同じ従業員に複数の言語を登録できません。さらに、氏名は同姓同名や変更があり得るので、従業員を一意に識別するキーにも不適切です。

イの設計は誤りです。プログラム言語だけが主キーなので、ある言語を登録できる行は表全体で一つだけです。このため、複数の従業員が同じ言語を使用できる状況を管理できません。

ウの設計は誤りです。従業員番号だけが主キーなので、一人の従業員につき一行しか登録できず、2種類以上の言語を使用できる従業員を表現できません。

【ポイント】 従業員と言語は、多対多の関係になるため、組合せを記録する対応表が必要です。 対応表の主キーは、通常「従業員番号、プログラム言語」の複合主キーにします。 該当する言語がない従業員は、対応表に行を作らないことで表現できます。

出典:令和7年度 秋期 データベーススペシャリスト試験 午前II 問4
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める