平成24年度 春期 データベーススペシャリスト試験 午前II 問2
2025年6月30日
【問題2】
関係データベースの表を設計する過程で、A表とB表が抽出された。主キーはそれぞれ列aと列bである。この二つの対応関係に基づいた表の設計に関する記述のうち、適切なものはどれか。
A表とB表の対応関係が1対1の場合、列aをB表に追加して外部キーとしてもよい。
A表とB表の対応関係が1対多の場合、列bをA表に追加して外部キーとする。
A表とB表の対応関係が多対多の場合、新しい表を作成し、その表に列aか列bのどちらかを外部キーとして設定する。
A表とB表の対応関係が多対多の場合、列aをB表に、列bをA表にそれぞれ追加して外部キーとする。
【解説】
ア: A表とB表の対応関係が1対1の場合、列aをB表に追加して外部キーとしてもよい。
正しい。1対1の対応関係の場合、列aをB表に追加して外部キーとして設定しても問題ありません。この方法でA表とB表を適切に関連付けることができます。
イ: A表とB表の対応関係が1対多の場合、列bをA表に追加して外部キーとする。
誤り。1対多の対応関係では、B表に列a(A表の主キー)を外部キーとして追加するのが一般的です。列bをA表に追加するのは適切ではありません。
ウ: A表とB表の対応関係が多対多の場合、新しい表を作成し、その表に列aか列bのどちらかを外部キーとして設定する。
誤り。多対多の関係を管理するためには、通常、A表とB表の主キーを含む中間テーブルを作成し、そのテーブルに両方の外部キーを設定します。
エ: A表とB表の対応関係が多対多の場合、列aをB表に、列bをA表にそれぞれ追加して外部キーとする。
誤り。多対多の対応関係では、A表とB表にそれぞれ外部キーを追加するのではなく、専用の中間テーブルを作成することが適切です。
【答え】
ア: A表とB表の対応関係が1対1の場合、列aをB表に追加して外部キーとしてもよい。
出典:平成24年度 春期 データベーススペシャリスト試験 午前II 問2