平成28年度 春期 データベーススペシャリスト試験 午前II 問5
2025年6月30日
【問題5】
係データベースの表を設計する過程で、A表とB表が抽出された。主キーはそれぞれ列aと列bである。この二つの表の対応関係を実装する表の設計に関する記述のうち、適切なものはどれか。
A表とB表の対応関係が1対1の場合、列aをB表に追加して外部キーとしてもよいし、列bをA表に追加して外部キーとしてもよい。
A表とB表の対応関係が1対多の場合、列bをA表に追加して外部キーとする。
A表とB表の対応関係が多対多の場合、新しい表を作成し、その表に列aか列bのどちらかを外部キーとして設定する。
A表とB表の対応関係が多対多の場合、列aをB表に、列bをA表にそれぞれ追加して外部キーとする。
【解説】
ア: A表とB表の対応関係が1対1の場合、列aをB表に追加して外部キーとしてもよいし、列bをA表に追加して外部キーとしてもよい。
正しい。1対1の関係では、どちらの表に外部キーを追加しても問題ありません。
イ: A表とB表の対応関係が1対多の場合、列bをA表に追加して外部キーとする。
誤り。1対多の場合は、A表ではなく、多側であるB表に外部キーを追加するべきです。
ウ: A表とB表の対応関係が多対多の場合、新しい表を作成し、その表に列aか列bのどちらかを外部キーとして設定する。
誤り。多対多の関係を適切に表現するには、新しい中間表を作成し、列aと列bの両方を外部キーとして設定します。
エ: A表とB表の対応関係が多対多の場合、列aをB表に、列bをA表にそれぞれ追加して外部キーとする。
誤り。多対多の関係では中間表を作成するのが正しい方法です。既存の表に直接外部キーを追加する設計は適切ではありません。
【答え】
ア: A表とB表の対応関係が1対1の場合、列aをB表に追加して外部キーとしてもよいし、列bをA表に追加して外部キーとしてもよい。
出典:平成28年度 春期 データベーススペシャリスト試験 午前II 問5