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

データベーススペシャリスト試験 2018年 午前202


関係データベースの表を設計する過程で、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どちらか一方の表に相手表の主キーを外部キーとして追加すればよい。(どちら側でも成立)

選択肢の確認

選択肢内容判定
「A と B が 1対1 のとき,列 a を B に追加しても,列 b を A に追加してもよい」◎ 正しい
1対多 の説明だが外部キーの向きが逆(1側に多側キーを置く)×
多対多 で “どちらか一方” しか外部キーにしない → 不完全×
多対多 で相互に外部キーを置く → 正規化に反する×

結論

1対1 関係を正しく捉え、外部キーをどちらの表にも置けることを示した
選択肢「ア」 が適切である。
← 前の問題へ次の問題へ →

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