Внешний ключ — это колонка или набор колонок в одной таблице, которая ссылается на первичный ключ или уникальный ключ в другой таблице.
Его роль заключается в обеспечении целостности данных и установлении связей между таблицами:
- Обеспечение ссылочной целостности: Гарантирует, что значения во внешнем ключе существуют в связанном первичном или уникальном ключе другой таблицы. Это предотвращает появление "висячих" ссылок.
- Определение связей между таблицами: Показывает, как записи одной таблицы связаны с записями другой. Это основа для операций JOIN в SQL.
- Ограничение действий: Позволяет задавать правила поведения при удалении или обновлении записей в родительской таблице (например,
ON DELETE CASCADE или ON UPDATE RESTRICT).
Пример:
- Таблица
orders содержит внешний ключ customer_id, который ссылается на первичный ключ id в таблице customers.
- Это гарантирует, что каждый заказ связан с существующим клиентом.