ITパスポート試験

問65

ITパスポート過去問 令和4年度(2022年)問65

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

〔条件〕
① 各従業員は重複のない従業員番号を一つもつ。
② 同姓同名の従業員がいてもよい。
③ 各部門は重複のない部門コードを一つもつ。
④ 一つの部門には複数名の従業員が所属する。
⑤ 1人の従業員が所属する部門は一つだけである。

選択肢

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

正解と解き方・学習ポイント(AI解説)

正解:
あなたの回答:未回答

主キーは、表の各行を重複なく識別できる項目です。条件①で各従業員が重複のない従業員番号をもつと明記されているため、“従業員”表の主キーは“従業員番号”が最も適切です。

正解

条件①により、従業員番号は従業員ごとに重複しないため、“従業員”表の各行を一意に識別でき、主キーとして適切です。

不正解

条件②より従業員名は同姓同名があり得ます。さらに条件④より、同じ部門コードに複数の従業員が所属します。そのため、“従業員名”と“部門コード”の組合せでも一意になる保証がありません。

不正解

条件②により同姓同名があり得るため、“従業員名”だけでは各行を一意に識別できず、主キーとして不適切です。

不正解

条件④により一つの部門に複数の従業員が所属するため、“従業員”表では部門コードが重複し、主キーとして不適切です。

Point

この問題は、主キーが満たすべき条件(重複しないこと)を理解し、条件①〜⑤と図の表構造から、“従業員”表の各行を一意に識別できる項目を選べるかを確認しています。

解くために必要な知識

この問題を解くには、関係データベースにおける主キーの役割と、一意性の考え方が必要です。

用語の整理

用語 意味
関係データベース データを表(テーブル)で管理し、行と列で表現するデータベースです。
表(テーブル) 同じ種類のデータを行(レコード)の集合として格納するものです。
主キー 表の各行を一意に識別できる列(または列の組)です。主キーの値は行同士で重複しません。

この問題で使う判断基準

主キーにできる条件

  • 表の各行を必ず一意に識別できること

  • 同じ値が複数行に現れないこと

条件文から分かること

条件 読み取れること 主キー選定への影響
① 各従業員は重複のない従業員番号を一つもつ 従業員番号は一意 “従業員”表の主キー候補になります
② 同姓同名の従業員がいてもよい 従業員名は重複する “従業員名”単独は主キーにできません
④ 一つの部門には複数名の従業員が所属する 同じ部門コードが複数行に現れる “従業員”表の“部門コード”は主キーにできません

補足:複合キー(列の組)

  • 主キーは1列に限らず、複数列の組で一意にできる場合もあります。

  • ただし本問の「従業員名+部門コード」は、同一部門内の同姓同名が否定されていないため、一意と判断できません。

問題の解法手順

主キーは“従業員”表の1行(1人)を必ず一意に特定できる必要があります。

図表の読み取り

表の列

  • “従業員”表の列は「従業員番号」「従業員名」「部門コード」「生年月日」「住所」です。

  • “部門”表の列は「部門コード」「部門名」「所在地」です。

部門と従業員の関係

  • 条件④より、1つの部門に複数の従業員が所属します。

  • 条件⑤より、従業員は1つの部門にだけ所属します。

  • このため、“従業員”表に「部門コード」を持たせる形になります。

解く手順

1. 一意になる列(または列の組)を探す

  • 条件①より、「従業員番号」は従業員ごとに重複しません。

2. 一意にならない列を除外する

  • 条件②より、「従業員名」は同姓同名があり得るため一意になりません。

  • 条件④より、「部門コード」は同じ部門に複数の従業員が所属するため、“従業員”表内で重複し得ます。

3. 組合せ(複合キー)の候補を確認する

  • 「従業員名」と「部門コード」の組は、同じ部門内に同姓同名が存在する可能性が否定されていないため、一意とは限りません。

結論

  • “従業員”表の主キーは「従業員番号」です。

選択肢ごとの解説

正解

条件①により、従業員番号は従業員ごとに重複しないため、“従業員”表の各行を一意に識別でき、主キーとして適切です。

不正解

条件②より従業員名は同姓同名があり得ます。さらに条件④より、同じ部門コードに複数の従業員が所属します。そのため、“従業員名”と“部門コード”の組合せでも一意になる保証がありません。

不正解

条件②により同姓同名があり得るため、“従業員名”だけでは各行を一意に識別できず、主キーとして不適切です。

不正解

条件④により一つの部門に複数の従業員が所属するため、“従業員”表では部門コードが重複し、主キーとして不適切です。

まとめ

主キーは、表の各行を重複なく識別できる項目です。条件①で各従業員が重複のない従業員番号をもつと明記されているため、“従業員”表の主キーは“従業員番号”が最も適切です。

テクノロジ系 > 技術要素 > データベース