powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / пометка на удаление
20 сообщений из 20, страница 1 из 1
пометка на удаление
    #32848936
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось бы увидеть кто-как организует пометку на удаление (логическое удаление) с возможностью последующего восстановления.
Для начала интересны следующие вопросы:
1) организация каскадного удаления(пометки) и восстановления.
2)следует ли давать возможность восстанавливать запись если она была помечена по каскаду (т.е. пометка не на 1-ом уровне, а на уровне N).
...
Рейтинг: 0 / 0
пометка на удаление
    #32848965
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман ДынникХотелось бы увидеть кто-как организует пометку на удаление (логическое удаление) с возможностью последующего восстановления.
А как кроме установки флажка - удалено да/нет можно сделать? Флажок конечно может быть разным по исполнению, но суть одна.

Роман ДынникДля начала интересны следующие вопросы:
1) организация каскадного удаления(пометки) и восстановления.
2)следует ли давать возможность восстанавливать запись если она была помечена по каскаду (т.е. пометка не на 1-ом уровне, а на уровне N).
А не запутаешься сам?
...
Рейтинг: 0 / 0
пометка на удаление
    #32848981
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>>А не запутаешься сам
Поэтому и топик создал.
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
пометка на удаление
    #32849001
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем вообще удалять "логически" дочерние данные? Если "удалены" родители, они и так не влияют ни на что. По крайней мере не должны.
...
Рейтинг: 0 / 0
пометка на удаление
    #32849010
Shr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Делаешь view
select * from my_table where deleted = 'N' и во всех запросах используешь именно её
2) Технически с использованием 1) вопрос снимается, организационно - ориентируйся по бизнес-логике
...
Рейтинг: 0 / 0
пометка на удаление
    #32849013
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например, если дочерние (по физической модели) записи предсталяют собой записи из справочника, надо запретить выбор(в смысле выбор строки из справочника в интерфейсе для другого объекта) таких записей из него.
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
пометка на удаление
    #32849035
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня в базовом объекте есть поле Deleted bit
Если ставлю = 1, то считается удаленным и на клиенте не отображается. А так как все данные объекта можно вытащить из базы только если обратиться к самому объекту, то вопрос с дочерними данными отпадает

А вот когда физически объект удаляется, то раскручиваясь по иерархии вызываются все процедуры удаления объекта и чистятся все его дочерние данные
--------------------
Не учи отца и баста!
...
Рейтинг: 0 / 0
пометка на удаление
    #32849049
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынникнапример, если дочерние (по физической модели) записи предсталяют собой записи из справочника
Как это? Справочник - дочерний к несправочнику? Пример приведи, плиз.
...
Рейтинг: 0 / 0
пометка на удаление
    #32849074
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так как все данные объекта можно вытащить из базы только если обратиться к самому объекту, то вопрос с дочерними данными отпадает


Объясняю: справочник сотрудников, справочник должностей сотрудников.
Логически удаляется должность. (Блин, пример не очень удачный, но суть думаю будет понятна).
сотрудники с удаляемой должностью являются по сути(физически) дочерними записями по отношению к справочнику должностей. Логически же это естественно не один объект.
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
пометка на удаление
    #32849113
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман ДынникОбъясняю: справочник сотрудников, справочник должностей сотрудников.
Не хотелось бы поднимать флейм по поводу - что есть справочник. С моей точки зрения справочник сотрудников - это не справочник.
По сути. ИМХО, в данном примере не прописано бизнес-правило удаления должности. Потому что не может быть на предприятии человека без должности, или с несуществующей должностью. Простым удалением, даже "логическим" - этоне описать. ИМХО, опять же.
...
Рейтинг: 0 / 0
пометка на удаление
    #32849119
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторОбъясняю: справочник сотрудников, справочник должностей сотрудников.
Логически удаляется должность. (Блин, пример не очень удачный, но суть думаю будет понятна).
сотрудники с удаляемой должностью являются по сути(физически) дочерними записями по отношению к справочнику должностей. Логически же это естественно не один объект.
Нехороший пример - пока есть сотрудники с этой должностью, должность удалять нельзя.

Я вообще нигде не имею никаких способов для псевдоудаления - просто не вижу смысла.

-- Tygra's --
...
Рейтинг: 0 / 0
пометка на удаление
    #32849135
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для такой ситуации у меня перед удалением проверяется нет ли ссылок других объектов в атрибутах удаляемого, если есть то выводится ругань и указывается ссылающийся объект
...
Рейтинг: 0 / 0
пометка на удаление
    #32849170
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я сказал что пример не очень удачный.
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
пометка на удаление
    #32849457
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А других то не бывает.

Либо как в этом примере, либо запись одна, ни с чем не связана - а тогда пофиг, есть она или нет, можно и удалить, можно пометить, одно и то же получится

-- Tygra's --
...
Рейтинг: 0 / 0
пометка на удаление
    #32849958
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraА других то не бывает.

Либо как в этом примере, либо запись одна, ни с чем не связана - а тогда пофиг, есть она или нет, можно и удалить, можно пометить, одно и то же получится

-- Tygra's --
Поддерживаю. Тут и изобретать ничего не надо - FOREIGN KEY и уже удалять записи, на которые ссылаются другие обьекты, нельзя. Для более сложных случаев спасет триггер. Для случаев же, когда в клиентском приложении хочется не показывать все записи, которые не актуальны на текущий момент делается граммотный фильтр, в котором пользователь может сам выбрать что ему показывать, а что скрывать. По расчетам/отчетам и скрывать ничего не надо - если записи потеряли актуальность и ушли в архив, они по любому себя не проявят в бизнес-логике никак.
...
Рейтинг: 0 / 0
пометка на удаление
    #32850199
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> справочник сотрудников, справочник должностей сотрудников.
> Логически удаляется должность.
> сотрудники с удаляемой должностью являются по сути(физически) дочерними
> записями по отношению к справочнику должностей. Логически же это
> естественно не один объект.

Хм... пример действительно не очень удачный. Не факт, что сотрудника нужно маркировать удаленным: например, он может получить другую должность из оставшихся.

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

В приведенном Вами примере типом события может быть "сокращение штатов" (или какая там у Вас классификация событий?), должности штатного расписания и соответствующие записи в таблице связей штатного расписания и сотрудников маркируются удаленными, сотрудники, занимающие эти должности - ставятся в очередь обработки оператором.

Восстановление в данном случае будет представлять собой создание новых записей вместо помеченных удаленными на основании журнала истории изменений (часть котого будет заполнена автоматом, часть - оператором (в смысле, тоже не руками, но записи будут сгенерированы действиями оператора)). Восстановление будет описано в журнале изменений как откат. Я правильно понял задачу?
...
Рейтинг: 0 / 0
пометка на удаление
    #32851240
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Логическое удаление нужно ! Очень нужно ! Чтоб запретить использовать к-л сущность, которую нельзя удалять физически. Например старый товар, по которому были продажи но которого уже нет и не будет. Удалять нельзя, но он путается под ногами. Признак "удалён" помогает не отображать лишнюю инфу. Эту пометку можно сделать дифференцированой т.е. с нескольких составляющих, например: запрет закупки, запрет продажи, запрет прочих операций.
Я думаю смысл понятен... ИМХО, такой признак нужен почти у всех (!) сущностей.
...
Рейтинг: 0 / 0
пометка на удаление
    #32851247
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVЛогическое удаление нужно ! Очень нужно ! Чтоб запретить использовать к-л сущность, которую нельзя удалять физически. Например старый товар, по которому были продажи но которого уже нет и не будет. Удалять нельзя, но он путается под ногами. Признак "удалён" помогает не отображать лишнюю инфу. Эту пометку можно сделать дифференцированой т.е. с нескольких составляющих, например: запрет закупки, запрет продажи, запрет прочих операций.Так это скорее не удаление, а признак актуальности.
...
Рейтинг: 0 / 0
пометка на удаление
    #32851253
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по-моему предыдущий автор гипертрофировал понятие "удаление"... удаление уже стало чем-то другим...
...
Рейтинг: 0 / 0
пометка на удаление
    #32851540
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да уж, признак типа "товара нет на складе" надо бы отдельно вынести.
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / пометка на удаление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]