基本情報暗記無料で始める

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

参照制約とは、外部キーに入る値が参照先の表に必ず存在することを、データベース側で保証する制約。参照整合性制約ともいう。ありえない値の登録を止めるだけでなく、参照されている行を削除・更新しようとしたときの動きを、拒否・連鎖・NULL化のどれにするかも指定できる。

最終更新:2026-10-09

試験情報

基本情報技術者試験の過去問では1回出題されています。

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

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

背景

表を分けて持つ関係データベースでは、社員表の部署コードのように「別の表を指す値」が必ず現れる。指した先が存在しない値が混ざると、結合したときに行が消える、集計が合わないといった食い違いが、後から広い範囲に出てくる。これをアプリケーション側の確認だけに任せると、画面を通さない一括投入や別プログラムからの更新がすり抜ける。そこでデータを預かるDBMS自身に守らせる仕組みが用意されている。

具体例

MySQLやPostgreSQLでは、社員表の定義に FOREIGN KEY(部署コード) REFERENCES 部署表(部署コード) と書く。こうしておくと、存在しない部署コードの社員を追加しようとした時点で登録が失敗する。ON DELETE CASCADE を付けていれば、部署の行を消したときに所属社員の行も一緒に消える。

試験での引っ掛け

制限がかかる側を取り違えやすい。止められるのは、参照される側(親)の削除とキーの更新、そして参照する側(子)の挿入と外部キーの更新である。子の行をいくら消しても親は影響を受けない。連鎖削除を指定していると、親を1行消しただけで子が大量に消える点にも注意する。

関連用語

出た過去問

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

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

試験での特徴
  • 試験では1回出題
  • 分野:テクノロジ系
  • 制限がかかる側を取り違えやすい。