基本情報技術者試験「参照整合性制約」の問題
外部キーによる参照整合性制約が保証する内容として最も適切なものはどれか。
ア列の値が表内で互いに重複しないこと
イ列に空値を一切設定できないこと
ウ格納値が定義した型や長さに収まること
エ値が参照先の主キーに実在すること
正解
エ.値が参照先の主キーに実在すること
外部キーは他表の主キーを参照する列であり、参照整合性制約はその値が参照先に必ず存在する(宙に浮いた参照を作らない)ことを保証する。設問の内容に一致するため正しい。
?選択肢ごとの解説
ア ×値が一意になることを保証するのは一意性制約(UNIQUE)や主キー制約であり、外部キー制約の役割ではない。
イ ×空値を設定できないことを保証するのはNOT NULL制約であり、外部キー列はNULLを許す場合もある。
ウ ×型や長さに収めるのは列の型・長さ定義の役割であり、参照整合性とは無関係である。
エ ○外部キーは他表の主キーを参照する列であり、参照整合性制約はその値が参照先に必ず存在する(宙に浮いた参照を作らない)ことを保証する。設問の内容に一致するため正しい。
✎くわしく
主な制約には主キー制約(一意かつ非NULL)、一意性制約、NOT NULL制約、検査制約、外部キー制約がある。参照整合性は外部キーが指す行が実在することを保ち、削除・更新時には連鎖(CASCADE)や拒否(RESTRICT)などの動作で整合を維持する。
✓本番での押さえどころ
試験のコツ
制約とその目的を対で覚える。『主キー=一意+非NULL』『外部キー=参照先実在』『CHECK=値の範囲』で切り分ける。
覚え方
外部キーは『他の表への正しいリンク』。リンク切れ(参照先なし)を許さないのが参照整合性、と覚える。
よくある誤り
外部キー制約を一意性制約やNOT NULL制約と混同する誤りが多い。外部キーは『参照先の実在保証』が本質である。
データベースの他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0054