Внешний ключ
Материал из Википедии — свободной энциклопедии
Вне́шний ключ (англ. foreign key) — понятие теории реляционных баз данных, поле (атрибут) таблицы, предназначенное для хранения значения первичного ключа таблицы, связанной с данной. С помощью внешних ключей в реляционных БД организуются связи между таблицами.
Пусть имеется таблицы A и B. Таблица A содержит поля a, b, c, d, из которых поле a — первичный ключ. Таблица B содержит поля e, f, g, h. В поле g содержится значение поля a одной из записей таблицы A. В таком случае поле g и называется внешним ключом. Это поле организует связь между двумя названными таблицами.
SQL-запрос
select * from A, B where A.a = B.g
вернёт все связанные пары записей из таблиц A и B.
Внешний ключ в таблице может ссылаться и на саму эту таблицу. В таких случаях говорят о рекурсивном внешнем ключе. Рекурсивные внешние ключи используются для моделирования древовидной структуры данных в реляционной таблице.
Развитые СУБД поддерживают автоматический контроль ссылочной целостности на внешних ключах.