SQL – Foreign Key (внешний ключ)

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;

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Делиться