問88
頻出度★★★
関係データベースにおける外部キーに関する記述のうち, 適切なものはどれか。
この問題の解説と、これまでの解答の記録です。
関係データベースにおける外部キーに関する記述のうち, 適切なものはどれか。
外部キーがもつ特性は、参照先の主キーに存在する値しか登録できないという「参照整合性(参照制約)」です。「一意性制約」は値の重複を許さない制約で、主キーがもつ特性であり外部キーの特性ではありません。用語の対応が逆です。
重複する値を設定できないのは主キーの特性です。外部キーは参照先の一つの値を複数の行が参照してよいため、同じ値が重複して現れることが普通にあります(例:同じ顧客IDが複数の注文行に現れる)。よって重複禁止という記述は誤りです。
正解 外部キーは、他の表の主キー(または一意な列)を参照して表と表を関連付けるための列です。一つの表は複数の他の表を参照することがあり、その参照ごとに外部キーを定義できます。例えば「注文」表が「顧客」表と「商品」表の両方を参照するなら、顧客IDと商品IDという二つの外部キーを同じ表に設定できます。したがって「一つの表に複数の外部キーを設定することができる」とする「ウ」が適切です。
参照先の主キーが複数フィールドから成る複合キーの場合、それに対応して複数のフィールドをまとめて一つの外部キー(複合外部キー)として設定できます。「まとめて設定できない」とする記述は誤りです。