Внешний ключ (foreign key) — это поле (или набор полей) в одной таблице базы данных, которое ссылается на поле (обычно первичный ключ) в другой таблице. Он устанавливает связь между таблицами, обеспечивая целостность данных.
Основные цели внешнего ключа:
Пример:
Таблица users (пользователи) с первичным ключом id.
Таблица orders (заказы) с внешним ключом user_id, который ссылается на users.id.
sql
В этом примере, внешний ключ user_id в таблице orders гарантирует, что каждый заказ связан с действительным пользователем из таблицы users.
Действия при удалении/обновлении связанной записи в родительской таблице могут быть настроены:
CASCADE: Автоматически удаляет/обновляет зависимые записи.SET NULL: Устанавливает значение внешнего ключа в NULL в зависимых записях.RESTRICT (по умолчанию): Предотвращает удаление/обновление родительской записи, если существуют зависимые записи.NO ACTION: Аналогично RESTRICT, но может быть отложено до конца транзакции.