Может быть, это наивный вопрос ... но я думаю, что у нас всегда должны быть каскадные удаления и обновления. Но я хотел знать, есть ли проблемы с этим и когда мы не должны делать это? Я действительно не могу вспомнить случай, когда вы не хотели бы делать каскадное удаление, но я уверен, что есть один ... но как насчет обновлений, которые они должны делать всегда?
Так может кто-нибудь перечислить плюсы и минусы каскадного удаления и обновления? Спасибо.
Плюсы:
Минусы
Плюсы:
Минусы:
Это зависит от сущностей, содержащихся в таблицах: если сторона внешнего ключа не может существовать без стороны первичного ключа, имеет смысл каскадное удаление.
Например: строка счета-фактуры не имеет права на сохранение, если счет-фактура удален.
Но если у вас есть внешний ключ, используемый для отношения «работает на» для отношения между сотрудником и его/ее начальником, хотите ли вы удалить сотрудника, если начальник покинет компанию?
Кроме того: техническая проблема заключается в том, что некоторые инструменты ORM (объектно-реляционное отображение) сбиваются с толку, если записи зависимых таблиц изменяются без их ответственности за это.