応用情報暗記無料で始める

参照制約とは?さんしょうせいやく

参照制約とは、外部キーに入る値が、参照先の表に必ず存在することをDBMSに保証させる制約で、参照整合性制約ともいう。存在しない値の登録を拒むだけでなく、参照されている行を削除・更新しようとしたときの振る舞い(拒否する、連鎖させる、NULLにする)まで定義できる点が実務上の要点になる。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では5回出題され、ほかに1問の解説で触れられています(2016年度〜2025年度)。

応用情報技術者試験の頻出用語/テクノロジ系

この語が出る過去問を解く →

背景

同じ検査をアプリケーション側に書くこともできるが、その表を触る経路はアプリだけとは限らず、バッチも管理ツールも直接SQLも通る。どこか1つが検査を忘れれば、行き先のない外部キーが残り、結合しても取れない行が静かに増える。整合性の番人をデータの側に置くという設計判断がここにある。科目Bでは、この制約をどこで担保するかの理由付けが問われる。

具体例

社員表の部門コードが部門表を参照している状態で「営業部」の行を削除しようとすると、所属社員が残っている限り既定では拒否される。ON DELETE CASCADEを指定してあれば所属社員の行も一緒に消え、ON DELETE SET NULLなら社員は残って部門コードだけがNULLになる。どれを選ぶかは業務上その社員を消してよいかで決まり、DBMSの都合では決められない。

試験での引っ掛け

制限がかかるのが親側か子側かを取り違えやすい。止められるのは親の削除およびキーの更新と、子の挿入および外部キーの更新である。CASCADEは連鎖の範囲が意図せず広がることがあり、参照が多段になっている表で安易に指定すると想定外の行まで消える。また外部キー列に索引が無いと、親の削除時の検査が全件走査になり性能を落とす点も実務では効く。

関連用語

出た過去問

問題文で直接問われたものと、解説の中で触れられたものが含まれます。

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

この語が出る過去問を解く →

試験での特徴
  • 試験では5回出題(2016年度〜2025年度)
  • 分野:テクノロジ系
  • 制限がかかるのが親側か子側かを取り違えやすい。