外部キーとは、関係データベース(RDB)において、あるテーブルの項目(列)が、別の関連するテーブルの「主キー」を参照している場合の項目のことです。これにより、テーブルとテーブルの間に正しい親子関係や繋がりを作ることができます。外部キーには「参照制約」というルールが適用され、親側のテーブルに存在しない値は、子側のテーブルの外部キー列に登録できないようにシステムで厳しく制限され、データの品質を維持します。
注文を管理する「注文テーブル」と、顧客の情報を管理する「顧客テーブル」があります。注文テーブルの中に『顧客ID』という項目を作り、これを外部キーとして設定して顧客テーブルの主キー(顧客ID)を参照させます。もし顧客登録されていない架空の顧客(例えばID: 9999)が注文しようとしても、参照制約が働くためデータベースは登録をエラーにして拒否します。これにより、実体のない幽霊注文が生まれるのを防ぐことができます。