過去問解きまくり研究所 ホーム

平成30年度 春期 午前Ⅱ 問2

データベース設計

主キーに関する問題

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

A表とB表(原典は図。各表の先頭の列だけ名があり,2列目は空欄。原典の実線の下線は …、破線の下線は〔破線の下線〕で表した):

A

a

B

b
答えと解説を見る

✓ これが正解アA表とB表の対応関係が1対1の場合,列aをB表に追加して外部キーとしてもよいし,列bをA表に追加して外部キーとしてもよい。

解説

1対1なら、どちらの表に相手の主キーを外部キーとして置いてもよいです。

見分ける軸は、対応関係の種類ごとに、外部キーをどちらの表に置けば1行に1つの値で表せるかです。1対1の場合、A表の1行に対応するB表の行は高々1つで、逆も同じです。そのため、列aをB表に足しても、列bをA表に足しても、1行に1つの値で対応を表せます。正解の記述はこの点を述べています。1対多では、多の側の表に1の側の主キーを外部キーとして置きます。多対多では、どちらの表に置いても1行に複数の値が必要になるので、列aと列bの両方を持つ新しい表を作ります。外部キーは、相手が1つに決まる側に置く、と覚えると迷いません。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)