Для чего нужен констрейнт по внешнему ключу и в чём смысл ограничения на удаление/обновление при наличии зависимых записей (логически)?

Внешний ключ сохраняет ссылочную целостность: зависимая запись не должна ссылаться на несуществующего родителя. Правило удаления определяет судьбу таких зависимостей.

Короткий ответ

Что ответить на собеседовании

Внешний ключ сохраняет ссылочную целостность: зависимая запись не должна ссылаться на несуществующего родителя. Правило удаления определяет судьбу таких зависимостей.

Подробный разбор

Ответ с пояснениями

Внешний ключ сохраняет ссылочную целостность: зависимая запись не должна ссылаться на несуществующего родителя. Правило удаления определяет судьбу таких зависимостей.

RESTRICT или NO ACTION не позволяют оставить нарушенную ссылку; CASCADE удаляет либо обновляет зависимые строки; SET NULL применим, если пустая ссылка допустима.

Выбор отражает смысл предметной области. Например, автоматическое удаление истории заказов вместе с клиентом может быть нежелательным. Точная семантика и момент проверки зависят от СУБД и настройки ограничения.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее