Зовнішній ключ (FOREIGN KEY) в SQL

  |
 13457

Зовнішній ключ (FOREIGN KEY) потрібен для того, щоб зв’язати дві різні таблиці між собою. Зовнішній ключ може посилатися на будь-який стовпець у батьківській таблиці. Проте загальноприйнятою практикою є посилання зовнішнього ключа на первинний ключ (primary key) батьківської таблиці. Наприклад:

Тут поле customer_id в таблиці Orders є FOREIGN KEY, який посилається на поле id в таблиці Customers. Це означає, що значенням customer_id (таблиці Orders) повинно бути значення зі стовпця id (таблиці Customers).

Створення зовнішнього ключа

Тепер давайте подивимося, як ми можемо додати обмеження FOREIGN KEY:

Тут стовпець customer_id таблиці Orders посилається на стовпець id таблиці Customers.

Примітка: Вищенаведений код створення зовнішнього ключа може відрізнятися в різних СУБД.

Вставка даних у таблицю із зовнішнім ключем

Спробуємо вставити дані у таблицю із зовнішнім ключем.

Навіщо використовувати зовнішній ключ?

Дві головні причини:

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

   Запобігання вставці некоректних даних. Якщо дві таблиці в базі даних пов’язані через поле (атрибут), використання FOREIGN KEY гарантує, що в це поле не будуть вставлені неправильні дані. Це допомагає усунути помилки на рівні бази даних.

FOREIGN KEY з оператором ALTER TABLE

Можна додати обмеження FOREIGN KEY до існуючої таблиці за допомогою оператора ALTER TABLE. Наприклад:

Декілька зовнішніх ключів у таблиці

Таблиця може мати декілька зовнішніх ключів. Припустимо, нам потрібно записати всі транзакції, де кожен користувач одночасно є покупцем та продавцем.

Тут ми створюємо два зовнішні ключі (buyer та seller) у таблиці Transactions.

Оцінити статтю:

1 Зірка2 Зірки3 Зірки4 Зірки5 Зірок (11 оцінок, середня: 5,00 з 5)
Завантаження...

Залишити відповідь

Ваш E-mail не буде опублікований. Обов'язкові поля відмічені *