令和4年度 ITパスポート試験 問65
テクノロジ/データベース条件①~⑤によって,関係データベースで管理する“従業員”表と“部門”表を作成した。“従業員”表の主キーとして,最も適切なものはどれか。 〔条件〕 ① 各従業員は重複のない従業員番号を一つもつ。 ② 同姓同名の従業員がいてもよい。 ③ 各部門は重複のない部門コードを一つもつ。 ④ 一つの部門には複数名の従業員が所属する。 ⑤ 1人の従業員が所属する部門は一つだけである。 従業員表:従業員番号|従業員名|部門コード|生年月日|住所 部門表:部門コード|部門名|所在地 (注:本サイトでは原問題の表を文字表記に変換しています)
出典:令和4年度 ITパスポート試験 問65
- ア“従業員番号”
- イ“従業員番号”と“部門コード”
- ウ“従業員名”
- エ“部門コード”
正解:ア
解説
主キーは,表の中の各行を一意に(重複なく)特定できる列です。条件①より従業員番号は重複しないので,従業員表の主キーにできます。従業員名は同姓同名がいるため(条件②),部門コードは一つの部門に複数名が所属するため(条件④)に,行を特定できません。なお,従業員表の部門コードは,部門表の主キーを参照する外部キーです。
下線の用語は 用語集 で意味を確認できます。
選択肢ごとの解説
- ア正しい。従業員番号は従業員ごとに重複しないので,従業員表の主キーとして最も適切です。
- イ誤り。従業員番号だけで行を特定できるので,部門コードを加える必要はありません(主キーは必要最小限の列にします)。
- ウ誤り。従業員名は同姓同名の従業員がいてもよいので,重複する可能性があり主キーにできません。
- エ誤り。部門コードは同じ部門の従業員全員が同じ値をもつので,行を特定できません。