Задать вопрос
@Bjornie
Изучаю Python

Нужно ли защищать данные в зависимых таблицах с помощью Foreign Key?

Например, есть две таблицы, в одной список чего-то (предок), в другой другой список (потомок), и одна колонка ссылается на первичных ключ предка. Если данные в первой таблице удалить, то вторая потеряет важную составляющую.

Можно (нужно) ли во всех подобных случаях, когда есть зависимости одного от другого прописывать FOREIGN KEY (RESTRICT). Хотя допускаю, что где-то можно использовать конструкции ON DELETE SET NULL, и тогда у потомка просто выставиться NULL, и данные будут болтаться (останутся не привязанными).
  • Вопрос задан
  • 255 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Это только вы можете решить, нужно ли вам сохранять ссылочную целостность базы.
Ответ написан
Комментировать
@LiguidCool
Когда это актуально, проще сделать отдельное поле предку, типа boolean -> del_status (ну или в таком духе). Ну и собственно ничего не удалять, а лишь исключать из выборки.
Либо писать запрос, который устроит массовы "Холокост" детям.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы