IPA公式正解:ア A 表と B 表の対応関係が 1 対 1 の場合,列 a を B 表に追加して外部キーとしてもよいし,列 b を A 表に追加して外部キーとしてもよい。
※ 正解はIPA公表の解答です。解説は当サイトが生成AIを用いて作成しています。誤りにお気づきの場合はお問い合わせください。
【解説】正解は選択肢【ア】です。1対1の関係では、どちらか一方の表に相手側の主キーを外部キーとして持たせることで関係を実装できます。業務要件やカーディナリティ(0対1か1対1か)に応じて選択されます。
【詳細解説】■ 本問の核心・解法のポイント
リレーショナルデータベースにおける関連の実装ルールを理解しているかを問う問題です。
・1対1:どちらか一方の表に相手の主キーを外部キーとして追加するか、または2つの表を統合します。
・1対多:必ず「多」側の表に「1」側の主キーを外部キーとして配置します。
・多対多:両表の主キーを外部キーとして併せ持つ「連関エンティティ(関連表・交差表)」を新たに作成します。
・各選択肢の徹底解説:
・ア:【選択肢ア★】適切です。1対1の対応関係であれば、A表に列b(外部キー)を追加しても、B表に列a(外部キー)を追加しても矛盾なく関係を表現できます。
・イ:不適切です。1対多の関係(例えばAが1、Bが多)の場合、「多」側であるB表に「1」側であるA表の主キー列aを外部キーとして追加する必要があります。
・ウ:不適切です。多対多の関係を解消して作成する新しい表(関連表)には、列aと列bの「両方」を外部キー(複合主キーなど)として設定する必要があります。
・エ:不適切です。多対多の関係を直接双方の外部キーだけで表現すると、1つのレコードに複数の値を格納しなければならなくなり第1正規形に反します。必ず連関表を介して1対多の関係2つに分解します。
よって正解はアです。