外部キー
外部キー(がいぶキー、英語: foreign key、FK)は、コンピュータの関係データベースの関係モデルの文脈において、2つの関係変数(表)の間の参照整合性制約をいう。 外部キーは、参照する側の関係変数で1つの属性(列、カラム)もしくは2つ以上の属性の集合を同定し、参照する側の関係変数は、参照される側の関係変数の1つの属性もしくは2つ以上の属性の集合を参照する。 参照する側の関係変数の属性の1つの組(タプル、行)の値は、参照される側の関係変数の組の値として出現しなければならない。 このため、参照する側の関係変数の組には、参照される側の関係変数に現れない値を、含むことはできない。 このような参照関係は、2つの情報の関連づけるために作成され、関係の正規化の本質的な部分をなしている。 参照する側の関係変数の複数の組が、参照される側の関係変数の同一の組を、参照することができる。
参照する側の関係変数と参照される側の関係変数が、同一の関係変数であっても良い。
ある企業にはいくつかの部署があり、その各々の社員はいずれかの部署に属している。 この事象は、関係データベースにおいては社員関係変数(社員表)の外部キーにより強制適用されている。 この外部キーは部署関係変数を参照している。 部署関係変数の各々の部署は、部署名称をもち "部署ID" というその部署の一意識別子をもつ。 社員関係変数は "部署ID" を属性としてもち、"部署ID" 属性は外部キーとして前述の部署関係変数の "部署ID" を参照する。 RDBMSあるいは SQL データベース管理システム (SQL DBMS) は、各々の社員の情報が部署関係変数の部署を参照せずに作成されることを強制的に防ぎ、部署関係変数のある部署を参照する社員が存在するときにその部署が削除されることを強制的に防ぐ。