過去問解きまくり研究所 ホーム

平成25年度 春期 午前Ⅱ 問3

データベース設計

多対多の対応を表す方策

データモデリングの過程で,二つのエンティティ間に多対多の対応が生じた。これを関係データベース上に実装する場合,二つのエンティティを表として定義した上で,多対多の対応を表す方策はどれか。

答えと解説を見る

✓ これが正解エそれぞれの表を参照する外部キーの組合せを主キーの一部とする表を新たに定義する。

解説

両方の表を参照する外部キーの組を主キーにした表を新たに作ります。

関係データベースの表の1行は、外部キーで他の表の1行しか指し示せません。そのため多対多の対応は、二つの表のどちらかに列を足すだけでは表現できません。そこで、両方の表の主キーを外部キーとしてもつ新しい表を作り、その外部キーの組合せを主キー(またはその一部)にします。新しい表の1行が対応の1組を表すので、どちらの表から見ても相手が複数ある対応を記録できます。例えば学生と科目なら、学生番号と科目番号の組を主キーとする履修の表を置く形です。多対多は、間に表をはさんで二つの1対多に分けると覚えておくと見分けやすくなります。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問3

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)