Foreign key (внешний ключ) обеспечивает ссылочную целостность данных, гарантируя, что значения в столбце одной таблицы (дочерняя таблица) соответствуют значениям в столбце другой таблицы (родительская таблица).
Влияние на целостность данных:
ON DELETE):
RESTRICT (по умолчанию): Запрещает удаление.CASCADE: Удаляет зависимые записи в дочерней таблице.SET NULL: Устанавливает значение NULL в соответствующем столбце дочерней таблицы (если столбец допускает NULL).NO ACTION: Аналогично RESTRICT при стандартной проверке, но может отличаться во времени выполнения.ON UPDATE):
RESTRICT (по умолчанию): Запрещает обновление.CASCADE: Обновляет соответствующее значение в зависимых записях дочерней таблицы.SET NULL: Устанавливает значение NULL в соответствующем столбце дочерней таблицы (если столбец допускает NULL).NO ACTION: Аналогично RESTRICT при стандартной проверке, но может отличаться во времени выполнения.Foreign key помогает предотвратить появление "висячих" записей и гарантирует, что связи между таблицами остаются корректными.