本文へスキップ

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

この問題の解説と、これまでの解答の記録です。

問65
頻出度★★★

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

従業員番号従業員名部門コード生年月日住所

部門

部門コード部門名所在地
出典 令和4年度 ITパスポート試験 問65
解説

問 65

  • ア

    正解 主キーとは、関係データベースの表で各行 (各レコード) を一意に識別するための項目。条件①より「従業員番号」は各従業員が重複なく一つもつ値なので、同じ従業員番号をもつ行は存在せず、これ一つで各従業員を確実に特定できる。よって「従業員」表の主キーとして最も適切なのは「ア」の「従業員番号」である。

  • 不正解イ

    「従業員番号」と「部門コード」の複合。従業員番号だけで既に一意に識別できるため、部門コードを加えるのは不要 (冗長) で、主キーは必要最小限の項目にすべきという原則に反する。したがって最適ではない。

  • 不正解ウ

    「従業員名」は条件②「同姓同名の従業員がいてもよい」より値が重複しうる。重複する項目では行を一意に識別できないため主キーにできない。

  • 不正解エ

    「部門コード」は条件④「一つの部門には複数名の従業員が所属する」より、複数の従業員行で同じ値をとりうる。一意に識別できないため主キーにできない (これは部門表を参照する外部キーに当たる)。

ここがポイント
  • 主キーは表の各行を一意に識別する項目 (値が重複せず、必ず値をもつ) を選ぶ。
  • 複数行で重複しうる項目 (氏名・部門コードなど) は主キーにできず、一意な項目が一つあれば複合キーにする必要はない。
用語

解答の記録