問21 外部キーの決まり

情報処理​安全確保​支援士 令和6年度 秋期 午前II、全25問のうちの問21。

出典:令和6年度 秋期 情報処理安全確保支援士試験 午前II 問21

関係モデルにおける外部キーに関する記述のうち,適切なものはどれか。

  1. ア外部キーの値は,その関係の中で一意でなければならない。
  2. イ外部キーは,それが参照する候補キーと比較可能でなくてもよい。
  3. ウ参照先の関係に,参照元の外部キーの値と一致する候補キーが存在しなくてもよい。
  4. エ一つの関係に外部キーが複数存在してもよい。
答えと解説を開く

正解はエです。

外部キーは、ほかの関係 (表) の候補キーを参照する列です。1 つの関係がいくつもの関係を参照することはよくあり、例えば「受注明細」は「受注」と「商品」の両方を外部キーで参照します。1 つの関係に外部キーが複数あってよいので、正解はエです。

ほかの選択肢が違う理由

  • ア外部キーの値は、一意でなくてかまいません。多くの明細の行が、同じ 1 つの受注を参照するのがふつうです。
  • イ外部キーは、参照する候補キーと比べられる必要があります。値の種類 (定義域) がそろっていないと、対応を確かめられません。
  • ウ外部キーの値は、参照先に一致する候補キーの値がなければなりません。これを参照整合性と呼びます。値が決まっていない NULL を許す場合だけが例外です。

仕組み

参照整合性の制約を付けておくと、存在しない商品を指す明細を登録しようとしたときに、データベースが止めてくれます。

参照されている行を消すときの扱いも決めておきます。消すのを断る、参照している行もいっしょに消す、参照を NULL にする、などから選びます。

この問に出る言葉