外部キーとは?がいぶきー
外部キーとは、ある表の列に、別の表の主キーに存在する値だけを入れると決めておく仕組み。表と表を関連付けると同時に、参照先に無い値が入るのを防いでデータの整合性を保つ。同じ値が何行あってもよく、値が無い状態も許されうる点が主キーと大きく異なる。
最終更新:2026-10-10
この語が出る過去問を解く →背景
同じ情報をあちこちの表に書き写すと、片方だけ直されて食い違う。そこで顧客の情報は顧客表に1か所だけ置き、他の表からは番号で指す形に分ける。ただし指した先が存在しなければ、その注文は誰のものか分からない幽霊データになる。この参照の正しさを、人の注意ではなくデータベースの仕組みで保証させるのが狙い。
具体例
通販の「注文」表の顧客ID列を「顧客」表の主キーへの外部キーにしておくと、打ち間違いや退会済みの顧客IDで注文を登録しようとした時点でデータベースが拒否する。注文から参照されている顧客を消そうとする操作も止められる。
試験での引っ掛け
主キーとの役割の取り違えが最大の敵。主キーは行を一意に特定される側、外部キーは他の表の主キーを指す側で、向きが逆になる。1人の顧客が何度も注文するように外部キーの値は重複してよく、一意性を求められる主キーとはこの点が決定的に違う。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成22年度 秋期 ITパスポート試験 問79(IPA)
関係データベースで管理された"業者"表、"仕入明細"表及び"商品"表がある。新たな業者から新たな商品を仕入れた場合、表にデータを追加する順序のうち、適切なものは…
正解:"業者"表 → "商品"表 → "仕入明細"表
要点:外部キーは参照される表から先に登録する
外部キーは参照先の行が存在していなければ登録できない(参照整合性)。商品表は業者コードで業者表を参照し、仕入明細表は商品コードで商品表を参照しているので、参照される側から順に、業者表→商品表→仕入明細表の順で追加する必要がある。
出典:平成22年度 秋期 ITパスポート試験 問87(IPA)
"部署"表、"都道府県"表及び"社員"表を結合して、A表を作成した。結合した"社員"表はどれか。ここで、下線は主キーを示し、破線は外部キーを示す。
正解:社員番号(主キー)、社員名、年齢、部署コード(外部キー)、都道府県コード(外部キー)の5項目からなる表
要点:表を結合するには参照先ごとの外部キーが必要になる
結合後のA表には部署名と都道府県名が含まれている。これらはそれぞれ部署表と都道府県表から取り出す項目なので、社員表側には両方の表を参照するための外部キー、すなわち部署コードと都道府県コードの両方が必要になる。
出典:平成23年度 秋期 ITパスポート試験 問57(IPA)
社員数が50人で,部署が10ある会社が,関係データベースで社員や部署の情報を管理している。"社員"表と"部署"表の関係を示したE-R図はどれか。ここで,1人の社…
正解:社員←部署(多対1)
要点:社員と部署は多対1、多側が外部キーを持つ
1人の社員は1つの部署にしか所属せず、1つの部署には複数の社員が所属する。したがって社員と部署の関係は「社員が多、部署が1」の多対1となる。社員表が部署コードを外部キーとして持っている構造も、多側が1側のキーを参照するという多対1の関係と整合する。
出典:平成24年度 春期 ITパスポート試験 問76(IPA)解説で登場
E-R図の説明と、その応用例として、適切なものはどれか。
正解:実体同士の関連を表した図であり、例えば、関係データベースの表同士の関連を表すのに用いられる。
要点:E-R図は実体と実体間の関連を表しDB設計に使う
E-R図は、実体(エンティティ)とその間の関連(リレーションシップ)を図示するデータモデリングの手法で、1対多などの多重度も表現できる。関係データベースの設計では、実体が表に、関連が外部キーによる表同士のつながりに対応する。
出典:平成25年度 秋期 ITパスポート試験 問51(IPA)
関係データベースの表に設定する主キー、外部キー及びインデックスのうち、一つの表に対して複数設定できるものだけを全て挙げたものはどれか。
正解:外部キー、インデックス
要点:主キーは表に1つ、外部キーとインデックスは複数設定できる
主キーは表の各行を一意に識別する役割をもつため、1つの表に1つしか設定できない(複数列をまとめて1つの主キーとすることはある)。一方、他の表を参照する外部キーは参照先ごとに複数設定でき、検索を速めるインデックスも列や列の組合せごとに複数作成できる。
出典・参考
公式シラバスの9 技術要素 > 55. データベース設計 > (2) データの設計に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。