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

選択肢
- ア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の対応関係では、どちらの表にも相手の主キーを外部キーとして持たせることができ、どちら側に置くかは検索頻度やNULLの出やすさなどで選べばよい。1対多なら「多」側に「1」側の主キーを外部キーとして置き、多対多なら双方の主キーを外部キーに持つ連関表を新設する。この整理に合致するのはアだけである。
選択肢ごとの解説
- ア正解。1対1では相手の主キーをどちらの表に外部キーとして持たせても対応関係を表現できる。
- イ1対多の外部キーは「多」側の表に置く。「1」側に置くと1行で複数の相手を指せない。
- ウ多対多の連関表には双方の主キーが必要で、片方だけでは対応の組合せを表せない。
- エ互いに外部キーを持たせても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/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。