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

外部キーとは?がいぶきー

外部キーとは、他の表の主キー(または一意キー)を参照することで、表と表の関連を表す属性。参照先に存在しない値を持てないという参照整合性制約をDBMSが保証するため、アプリ側の実装漏れによる不整合を防げる。主キーと違ってNULLを許し(どこも参照していない状態を表せる)値の重複も許すため、多対1の関連を表現できる。参照先を削除・更新したときの動作はCASCADE・RESTRICT/NO ACTION・SET NULLなどから選んで宣言する。

最終更新:2026-10-06

試験情報

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

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

別名:FOREIGN KEY

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

背景

関連の正しさをアプリケーションだけで守ろうとすると、同じ表に触れる経路(画面・バッチ・手作業のSQL)の数だけ検査を書くことになり、どれか一つの漏れが親のいない行として残る。しかもその不整合は発生した瞬間ではなく、月次の集計が合わないという形でずっと後になって表面化する。整合性の宣言をDBMS側へ一度だけ置くのが外部キーであり、応用情報では「どこで守るか」という設計判断として問われる。

具体例

配送明細表の「荷物番号」を荷物表の主キーへの外部キーとして宣言しておけば、存在しない荷物番号の明細行は登録できず、明細が残っている荷物を消そうとすれば拒否される(RESTRICT)。社員表の「上司の社員番号」が同じ社員表の主キーを参照する自己参照外部キーは、組織の階層構造を1つの表で表す例である。

試験での引っ掛け

主キーとの違いが狙われる。外部キーはNULLも値の重複も許されるが、主キーはどちらも許されない。参照先は任意の列ではなく、主キーまたは一意制約のある列でなければならない。削除の連鎖(CASCADE)が起きるのは参照「される」側を消したときであって、参照する側を消したときではない——向きを取り違えやすい。

関連用語

出た過去問

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

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

試験での特徴
  • 試験では8回出題(2016年度〜2025年度)
  • 分野:テクノロジ系
  • 主キーとの違いが狙われる。