ITパスポート 令和4年度65

問題

テクノロジ系

問65 条件①~⑤によって,関係データベースで管理する"従業員"表と"部門"表を作成した。"従業員"表の主キーとして,最も適切なものはどれか。 〔条件〕 ① 各従業員は重複のない従業員番号を一つもつ。 ② 同姓同名の従業員がいてもよい。 ③ 各部門は重複のない部門コードを一つもつ。 ④ 一つの部門には複数名の従業員が所属する。 ⑤ 1人の従業員が所属する部門は一つだけである。

選択肢

  • "従業員番号"
  • "従業員番号"と"部門コード"
  • "従業員名"
  • "部門コード"

解説

正解:

概要

関係データベースの表で、各行を一意に特定できる主キーとして最も適切な項目を問う問題です。

正解の理由

条件①より各従業員は重複のない従業員番号を持つので、従業員表の各行を一意に識別できます。一方、条件②より従業員名は同姓同名があり得るため主キーには不適切で、部門コードは複数従業員が同じ値を持つため従業員表の主キーにはなりません。

各選択肢の解説

ア(〇): 従業員番号は各従業員で重複しないと条件で示されており、従業員表の行を一意に特定できるため主キーとして正しいです。

イ(×): 従業員番号だけで一意に識別できるため複合主キーにする必要がありません。部門コードは従業員表では重複し得るので組合せとして不適切です。

ウ(×): 従業員名は同姓同名がいてもよいと条件で示されており、一意性がないため主キーにできず誤りです。

エ(×): 部門コードは一つの部門に複数従業員が所属するため従業員表では重複し、一意に特定できないので誤りです。

ポイント

主キーは「重複しない」「欠けない」項目を選び、名前のように重複し得る属性は主キーにしません。