情報処理安全確保支援士暗記無料で始める

外部キーと参照整合性制約とは?がいぶきーとさんしょうせいごうせいせいやく

外部キーは、ある表の列が別の表の主キーまたは一意キーの値を指すように定義した列で、参照整合性制約はその指し先が必ず存在することをDBMSに強制させる仕組みである。存在しない値の挿入・更新は拒否され、参照される親行の削除には拒否・連鎖削除・NULL設定のいずれかを選べる。アプリの検査漏れやSQLインジェクションで混入する不整合をDBMS側で止める最後の砦として問われる。

最終更新:2026-10-06

試験情報

情報処理安全確保支援士試験の頻出用語/午前II

情報処理安全確保支援士を最短で暗記・合格する →

背景

アプリケーションの入力検査だけに頼った整合性は、検査を通らない経路(バッチ、管理ツール、攻撃者の直接クエリ)から簡単に破られる。整合性の規則を表定義に埋め込めば、どの経路から来ても同じ規則が効く。支援士の論理設計の節では、主キー・外部キー・一意性制約・参照制約・検査制約を一貫性制約としてまとめて問う。

具体例

PostgreSQLで注文表にREFERENCES 顧客(顧客ID) ON DELETE RESTRICTを付けると、注文の残る顧客を消そうとするDELETEはエラーで止まる。ON DELETE CASCADEにすれば注文も連鎖して消え、ON DELETE SET NULLなら注文の顧客IDが空になる。監査ログの主体列にCASCADEを付けると証跡が消えるため、ログ表ではRESTRICTか制約なしにするのが定石である。

試験での引っ掛け

外部キー列にはNULLを許容できる(未確定の参照)が、主キー側は許せない。ON DELETE CASCADEは便利な反面、親を1行消すだけで子孫が大量に消えるため、誤操作や破壊的な攻撃の被害を広げる方向に働く。外部キーを定義しても参照する側の列に索引が自動で付くとは限らず、親行の削除時に子表を全表走査して性能が落ちることがある。

関連用語

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

情報処理安全確保支援士を最短で暗記・合格する →

試験での特徴
  • 分野:午前II
  • 外部キー列にはNULLを許容できる(未確定の参照)が、主キー側は許せない。