平成25年度 春期 データベーススペシャリスト試験 午前II 問3
2025年6月30日
【問題3】
データモデリングの過程で,二つのエンティティ間に多対多の対応が生じた。これを関係データベース上に実装する場合,二つのエンティティを表として定義した上で,多対多の対応を表す方策はどれか。
それぞれの表の主キーに対して明示的にインデックスを定義する。
それぞれの表の主キーへの部分関数従属性を排除するように表を分解する。
それぞれの表の属性間の推移的な関数従属性を排除するように表を分解する。
それぞれの表を参照する外部キーの組合せを主キーの一部とする表を新たに定義する。
【解説】
ア: それぞれの表の主キーに対して明示的にインデックスを定義する。
誤り。インデックスの定義はデータ検索の高速化を目的としますが、多対多の関係を解決する方法ではありません。
イ: それぞれの表の主キーへの部分関数従属性を排除するように表を分解する。
誤り。部分関数従属性の排除は正規化の過程の一部ですが、多対多の対応を表す方法ではありません。
ウ: それぞれの表の属性間の推移的な関数従属性を排除するように表を分解する。
誤り。推移的関数従属性の排除も正規化の一部ですが、これだけでは多対多の対応を表現できません。
エ: それぞれの表を参照する外部キーの組合せを主キーの一部とする表を新たに定義する。
正しい。多対多の関係を表現するためには、中間テーブルを作成します。この中間テーブルには元のエンティティの主キーを外部キーとして含め、それらを主キーの一部とします。
【答え】
エ: それぞれの表を参照する外部キーの組合せを主キーの一部とする表を新たに定義する。
出典:平成25年度 春期 データベーススペシャリスト試験 午前II 問3