|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ 外 : [そと, ほか, げ, がい] 【名詞】 1. other place 2. the rest ・ 外部 : [がいぶ] 【名詞】 1. the outside 2. external ・ ー : [ちょうおん] (n) long vowel mark (usually only used in katakana)
外部キー(がいぶキー、英語:foreign key、FK)は、コンピュータの関係データベースの関係モデルの文脈において、2つの関係変数(テーブル)の間の参照整合性制約をいう。 外部キーは、参照する側の関係変数で1つの属性(列、カラム) もしくは2つ以上の属性の集合を同定し、参照する側の関係変数は、参照される側の関係変数の1つの属性もしくは2つ以上の属性の集合を参照する。 参照する側の関係変数の属性の1つの組(タプル、行) の値は、参照される側の関係変数の組の値として出現しなければならない。 このため、参照する側の関係変数の組には、参照される側の関係変数に現れない値を、含むことはできない。 このような参照関係は、2つの情報の関連づけるために作成され、関係の正規化の本質的な部分をなしている。 参照する側の関係変数の複数の組が、参照される側の関係変数の同一の組を、参照することができる。 参照する側の関係変数と参照される側の関係変数が、同一の関係変数であっても良い。 すなわちこの場合は外部キーは自分自身の関係変数を参照する。 このような外部キーは、データベース言語標準 SQL:2003 では「自己参照」外部キーあるいは「再帰的」外部キーとして規定されている。 一つの関係変数には複数の外部キーを含むことができる。 そしてこのような外部キーのそれぞれが異なる関係変数を参照する。 各々の外部キーは関係データベース管理システム(RDBMS)によりそれぞれ別個に強制適用される。 このため、関係変数間の連鎖した関連を外部キーを使って定義することができる。 外部キー-主キーの関連を本来は設計の観点から存在していてはならない場合に存在していることや、外部キー-主キーの関連が本来は設計の観点から存在しているべきである場合に存在していないことは、関係データベースおよびデータモデリング、データベース設計についての多くの問題の原因となっていることが多い。 == 外部キーを定義する == 外部キーは、データベース言語 ANSI/ISO SQL 標準において、FOREIGN KEY 制約として規定されている。 既に存在する関係変数(テーブル)に外部キー制約を追加する構文は SQL:2003 で次のように規定されている。 なお、属性(column)のリストを REFERENCES 句で省略すると、外部キーは参照される側の関係変数の主キーを参照することを暗黙に示す。 |