|
Cascade Delete или удаление из приложения?
|
|||
---|---|---|---|
#18+
Всем привет! Собственно задался вопросом, как же лучше? Я склоняюсь к варианту вешать эту логику на базу, и такой вариант имеет кучу плюсов. Но, может есть и минусы? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 17:52 |
|
Cascade Delete или удаление из приложения?
|
|||
---|---|---|---|
#18+
Imperousсклоняюсь к варианту вешать эту логику на базу, и такой вариант имеет кучу плюсов. Но, может есть и минусы?Любой вариант имеет как плюсы, так и минусы. Выбор определяется не способом, а задачей. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 18:23 |
|
Cascade Delete или удаление из приложения?
|
|||
---|---|---|---|
#18+
Imperous, Удаляемые данные точно не имеют исторической ценности? ЗЫ Обычно я не полагался на каскадное удаление. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 10:37 |
|
Cascade Delete или удаление из приложения?
|
|||
---|---|---|---|
#18+
Imperous, Вешать все на БД и вешать все на приложение это крайности. Допустим есть таблица Заказы и таблица Строки_Заказа в данном случае проще и правильнее повесить логику удаления на БД, т.е. при удалении заказа автоматически удалятся и все строки заказов. Но в случае если у нас допустим появляется сущность к примеру Строки_Договора где фигурируют ссылки на Заказ, здесь каскадное удаление логически лишне, пользователь все таки должен принять решение что этот заказ в рамках договора больше не нужен. то есть при попытке удаления Заказа который привязан к договору должна быть ошибка, но при условной операции "Удалить вместе с заказом" из таблицы Строки_Договора пользователь осознано принял решение, что заказ больше не нужен и с договором не связан, в этом случае приложение должно выполнить две операции 1. удалить строку из таблицы Строки_Договора 2. удалить строку из Заказы, СУБД же возьмет на себя функцию вычистки всех дочерних сущностей. Так что какой вариант применять зависит от конкретного случая. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 12:36 |
|
Cascade Delete или удаление из приложения?
|
|||
---|---|---|---|
#18+
ImperousВсем привет! Собственно задался вопросом, как же лучше? Я склоняюсь к варианту вешать эту логику на базу, и такой вариант имеет кучу плюсов. Но, может есть и минусы? cascade delete а логику проверять приложением подумайте как удалять ветку в дереве ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 14:26 |
|
Cascade Delete или удаление из приложения?
|
|||
---|---|---|---|
#18+
Не все бд поддерживают возможность каскадных операций. Иногда, в целях быстродействия, даже референсы между таблицами не делают. Поэтому однозначного ответа нет. Нужно смотреть бизнес-требования, специфику приложения и условия эксплуатации ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 15:18 |
|
Cascade Delete или удаление из приложения?
|
|||
---|---|---|---|
#18+
ImperousВсем привет! Собственно задался вопросом, как же лучше? Я склоняюсь к варианту вешать эту логику на базу, и такой вариант имеет кучу плюсов. Но, может есть и минусы? Зависит от бизнес-логики. Случился факт, связанный с чём-то. Это что-то храниться в трёх связанных таблицах. Факт в двух. Что-то удалили, каскадно из трёх таблиц, а факт остался. Обычное явление в жини ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 15:33 |
|
Cascade Delete или удаление из приложения?
|
|||
---|---|---|---|
#18+
MaratIskподумайте как удалять ветку в дереве И заодно - что делать после того как лёгким движением руки удалится всё дерево. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 16:39 |
|
|
start [/forum/topic.php?fid=32&fpage=6&tid=1539978]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 236ms |
total: | 402ms |
0 / 0 |