Ограничение FOREIGN KEY
Ограничение FOREIGN KEY
(или ссылочная целостность) определяет столбец или комбинацию столбцов как внешний ключ и устанавливает отношение с первичным ключом или уникальным ключом в той же самой таблице или в другой таблице.

В примере на рисунке, DEPARTMENT_ID
был определен как внешний ключ в таблице EMPLOYEES
(зависимой или дочерней таблице); он ссылается на столбец DEPARTMENT_ID
таблицы DEPARTMENTS
(таблицы, на которую делается ссылка, или родительской таблицы).
Указания
Значение внешнего ключа должно соответствовать существующему значению в родительской таблице или быть
NULL
.Внешние ключи основаны на значениях данных и являются лишь логическими, а не физическими, указателями.
Ограничение FOREIGN KEY
Определяется или на табличном уровне или на уровне столбца:

Ограничения FOREIGN KEY могут быть определены как ограничения уровня столбца или таблицы. Составной внешний ключ должен быть создан при использовании определения на уровне таблицы.
Пример на рисунке определяет ограничение FOREIGN KEY
для столбца DEPARTMENT_ID
таблицы EMPLOYEES
, используя синтаксис уровня таблицы. Имя ограничения EMP_DEPT_FK
.
Внешний ключ может также быть определен на уровне столбца, при условии, что ограничение основано на единственном столбце. Синтаксис отличается в том, что слово FOREIGN KEY
не появляться. Например:
CREATE TABLE employees |