IPA過去問ドリル

平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2

テクノロジ/データベース

関係データベースの表を設計する過程で,A表とB表が抽出された。主キーはそれぞれ列aと列bである。この二つの表の対応関係を実装する表の設計に関する記述のうち,適切なものはどれか。

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

正解:ア

解説

二つの表の対応関係を外部キーで実装する場合,1対1の関係ではどちらの表に外部キーを置いてもよく,1対多の関係では「多」側の表に「1」側の主キーを外部キーとして追加し,多対多の関係では両方の主キーを外部キーとしてもつ新しい中間表を作成する必要があります。

選択肢ごとの解説

  • 正しい。1対1の対応関係では,どちらの表に相手表の主キーを外部キーとして追加してもよく,どちらの向きでも対応関係を正しく表現できます。
  • 誤り。1対多の対応関係では,「多」側の表に「1」側の主キー(列a)を外部キーとして追加すべきであり,列bをA表に追加するのは対応関係の向きが逆になります。
  • 誤り。多対多の対応関係を表すには,新しい表(中間表)に列aと列bの両方を外部キーとして設定する必要があり,どちらか一方だけでは組合せを一意に表現できません。
  • 誤り。多対多の対応関係を,列aをB表に,列bをA表にそれぞれ追加する方法で表そうとすると,A表とB表がそれぞれ複数行をもてず,1対多の関係が二つできるだけで多対多の対応関係を正しく表現できません。
データベーススペシャリストの過去問を演習モードで解く