問題
テクノロジ系
問65 条件①~⑤によって,関係データベースで管理する"従業員"表と"部門"表を作成した。"従業員"表の主キーとして,最も適切なものはどれか。 〔条件〕 ① 各従業員は重複のない従業員番号を一つもつ。 ② 同姓同名の従業員がいてもよい。 ③ 各部門は重複のない部門コードを一つもつ。 ④ 一つの部門には複数名の従業員が所属する。 ⑤ 1人の従業員が所属する部門は一つだけである。
選択肢
- ア"従業員番号"
- イ"従業員番号"と"部門コード"
- ウ"従業員名"
- エ"部門コード"
解説
正解:ア
概要
関係データベースの表で、各行を一意に特定できる主キーとして最も適切な項目を問う問題です。
正解の理由
条件①より各従業員は重複のない従業員番号を持つので、従業員表の各行を一意に識別できます。一方、条件②より従業員名は同姓同名があり得るため主キーには不適切で、部門コードは複数従業員が同じ値を持つため従業員表の主キーにはなりません。
各選択肢の解説
ア(〇): 従業員番号は各従業員で重複しないと条件で示されており、従業員表の行を一意に特定できるため主キーとして正しいです。
イ(×): 従業員番号だけで一意に識別できるため複合主キーにする必要がありません。部門コードは従業員表では重複し得るので組合せとして不適切です。
ウ(×): 従業員名は同姓同名がいてもよいと条件で示されており、一意性がないため主キーにできず誤りです。
エ(×): 部門コードは一つの部門に複数従業員が所属するため従業員表では重複し、一意に特定できないので誤りです。
ポイント
主キーは「重複しない」「欠けない」項目を選び、名前のように重複し得る属性は主キーにしません。