IPA公式正解:エ プログラム言語 (<u>従業員番号,プログラム言語</u>)
※ 正解はIPA公表の解答です。解説は当サイトが生成AIを用いて作成しています。誤りにお気づきの場合はお問い合わせください。
【解説】正解は選択肢【エ】です。1人の従業員が複数のプログラム言語を使用できるため、主キーは「従業員番号」と「プログラム言語」の複合主キー(両方に下線)とする必要があります。
【詳細解説】■ 本問の核心・解法のポイント
従業員とプログラム言語の関連を整理し、主キーの定義を正しく決定する問題です。
要件を整理すると以下のようになります:
1. 1人の従業員が2種類以上のプログラム言語を使用できる(1対多)。
2. 1つのプログラム言語を複数の従業員が使用できる(多対1)。
したがって、「従業員」と「プログラム言語」の関係は【多対多】です。
多対多の関係を関係モデルで表す場合、両方の識別子を組み合わせた複合主キーを定義する必要があります。
また、従業員を特定する属性としては、同姓同名のリスクがある「氏名」ではなく、一意性が担保されている「従業員番号」を使用すべきです。
・各選択肢の徹底解説:
・ア:不適切です。氏名は同姓同名の可能性があるため外部キー・主キーとして不適切です。また、氏名のみを主キーとすると、同一人物が1種類の言語しか登録できなくなります。
・イ:不適切です。従業員番号のみを主キーにすると、1人の従業員に対して1件のレコードしか保持できず、「2種類以上のプログラム言語を使用できる」という要件を満たせません。
・ウ:不適切です。プログラム言語のみを主キーにすると、1つの言語に対して1人の従業員しか登録できなくなります。
・【選択肢エ★】:適切です。従業員番号とプログラム言語の複合主キーとすることで、1人の従業員が複数の異なるプログラム言語を持つことが可能になり、多対多の関係を正しく保持できます(言語を使用できない従業員は、この表にレコードが存在しないことで表現されます)。
よって正解はエです。