ホーム > データベーススペシャリスト試験 > 2016年

データベーススペシャリスト試験 2016年 午前205


関係データベースの表を設計する過程で, 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表にそれぞれ追加して外部キーとする。

解説

対応関係に応じた外部キー設計の原則

対応関係実装方法
1 : 1どちらの表に相手側の主キーを置いてもよい。
(片方に外部キー列を追加し、一意制約を付与)
1 : 多多側の表に 1 側の主キーを外部キーとして追加する。
多 : 多新たに 交差表を設け、両表の主キーを外部キー兼複合主キーとする。

選択肢チェック

選択肢記述判定
1:1 の場合、列 a を B に置くことも、列 b を A に置くことも可 原則どおり
1:多 の場合、列 b を A に置く✕ 多側は B 表なので逆
多:多 の場合、交差表を作るが どちらか一方だけを外部キーにする✕ 両キー必要
多:多 の場合、相互に外部キーを置く(A に b, B に a)✕ 交差表を使わず冗長・整合性保てない

結論

適切なのは 選択肢「ア」(1 : 1 では外部キーをどちら側に置いてもよい)。
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ