Foreign Key (внешний ключ) является ключом, используемый для соединения двух таблиц. Его иногда также называют ссылающимся ключом.
Внешний ключ — это столбец или сочетание столбцов, значения которого соответствуют первичному ключу в другой таблице.
Отношения между 2 таблицами соответствует первичному ключу в одной из таблиц с внешним ключом во второй таблице.
Если таблица имеет первичный ключ, определенный на любом поле (ей), то вы не можете иметь две записи, имеющие одинаковое значение этого поля (ей).
Рассмотрим структуру следующих двух таблиц.
Таблица CUSTOMERS
CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25) , SALARY DECIMAL (18, 2), PRIMARY KEY (ID) );
Таблица ORDERS
CREATE TABLE ORDERS ( ID INT NOT NULL, DATE DATETIME, CUSTOMER_ID INT references CUSTOMERS(ID), AMOUNT double, PRIMARY KEY (ID) );
Если таблица ORDERS уже создана и внешний ключ еще не был установлен, то используется синтаксис для задания внешнего ключа путем изменения таблицы.
ALTER TABLE ORDERS ADD FOREIGN KEY (Customer_ID) REFERENCES CUSTOMERS (ID);
Чтобы удалить ограничение внешнего ключа, используйте следующий синтаксис SQL.
ALTER TABLE ORDERS DROP FOREIGN KEY;