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

条件①〜⑤によって,関係データベースで管理する“従業員”表と“部門”表を作成した。“従業員”表の主キーとして,最も適切なものはどれか。

〔条件〕

  1. 各従業員は重複のない従業員番号を一つもつ。
  2. 同姓同名の従業員がいてもよい。
  3. 各部門は重複のない部門コードを一つもつ。
  4. 一つの部門には複数名の従業員が所属する。
  5. 1人の従業員が所属する部門は一つだけである。
従業員表と部門表
図の説明テキスト

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

部門表
| 部門コード | 部門名 | 所在地 |

解答・解説

正解: ア. “従業員番号”

主キーとは、関係データベースにおいて表の各行(レコード)を一意に識別するための列(属性)です。

条件①に「各従業員は重複のない従業員番号を一つもつ」とあるため、従業員番号 を指定すれば従業員表の特定の行(1人の従業員)を必ず一意に特定できます。したがって、“従業員番号”が主キーとして最も適切です。

各選択肢の解説

  • ア: 正解。条件①より、各従業員は重複のない従業員番号をもつため、主キーとして適切です。
  • イ: 誤り。従業員番号だけで行を一意に特定できるため、部門コードと組み合わせる必要はありません(主キーに必要な最小性を満たしません)。
  • ウ: 誤り。条件②「同姓同名の従業員がいてもよい」より、従業員名では行を一意に特定できない可能性があるため、主キーとして不適切です。
  • エ: 誤り。条件④「一つの部門には複数名の従業員が所属する」より、従業員表の中で同じ部門コードをもつ行が複数存在する(値が重複する)ため、主キーとして不適切です。

Spineチーム