SQL — Зовнішній ключ

17

Від автора: зовнішній ключ SQL — це ключ, що використовується для об’єднання двох таблиць. Іноді його також називають посиланнями ключем. Зовнішній ключ — це стовпець або комбінація стовпців, значення яких відповідають Первинного ключа в іншій таблиці.

Зв’язок між двома таблицями задається через відповідність Первинного ключа в одній з таблиць зовнішнього ключа в другій. Якщо для таблиці первинний ключ задано в певному полі, то в цьому полі не може міститися двох записів з однаковими значеннями.

Приклад

Розглянемо структуру наступних двох таблиць.

Таблиця 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);

Видалення обмеження FOREIGN KEY

Щоб скасувати обмеження FOREIGN KEY, використовуйте наступний синтаксис SQL.

ALTER TABLE ORDERS
DROP FOREIGN KEY;