関係データベースの表を設計する過程で、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の対応関係は、どちらの表に相手の主キーを外部キーとして持たせても一意性が保てるため、どちら向きの実装も可能である。1対多なら「多」側に「1」側の主キーを外部キーとして持たせ、多対多なら両方の主キーをもつ連関表を新設するのが定石である。
選択肢ごとの解説
- ア正しい。1対1では外部キーをどちらの表に置いても対応関係を表現できる。
- イ1対多では「多」側に「1」側の主キーを置く。A表側に列bを置くのは向きが逆である。
- ウ多対多の連関表には両方の主キーが必要で、片方だけでは対応関係を表せない。
- エ互いに単一の外部キーを持たせる方法では、1件につき1件しか対応付けられず多対多を表現できない。
この問題は2回出題されています
- 2016年度 春期 午前II 問5(このページ)
- 2020年度 10月試験 午前II 問6
同じ分野の他の問題
- 従業員の、従業員番号、氏名及び使用できるプログラム言語を管理するために、"従業員"表及び"プログラム言語"表を設計する。…2025年度 秋期 午前II 問4
- データ中心アプローチの特徴はどれか。2023年度 秋期 午前II 問24
- 従業員番号と氏名と使用できるプログラム言語を管理するために、"従業員"表及び"プログラム言語"表を設計する。"プログラム…2023年度 秋期 午前II 問5
- 部、課、係の階層関係から成る組織のデータモデルとして、モデルA〜Cの三つの案が提出された。これらに対する解釈として、適切…2021年度 秋期 午前II 問2
- “学生は、学期が異なれば同じ授業科目を何度でも履修できる”を適切に表現しているデータモデルはどれか。ここで、モデルの表記…2019年度 春期 午前II 問6
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。