powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Корзина удаленных записей- насколько это востребовано
25 сообщений из 41, страница 1 из 2
Корзина удаленных записей- насколько это востребовано
    #38544154
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поделитесь пожалуйста своим опытом и мнением

Прочитал некоторые статьи и авторы пытаются там реализовывать "корзину удалённых записей".
Насколько это разумно и востребовано?

Спасибо
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544163
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неплохо бы кинуть ссылки чтобы обсуждать более предметно.
Это о том чтобы вместо физического удаления обновлять статус на неактивный?
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544167
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257,

да именно так
как мне кажется тут возникает проблема с уникальность записей в справочниках
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544169
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно в своей работе как-то не сталкивался с необходимостью такой функциональности - может просто я не в курсе и это очень востребованная фича!?)
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544170
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зато не возникает проблемы - а что делать со старыми данными которые ссылаются на удаляемую запись.
А с уникальностью поборотся проще.
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544172
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257,

ну так нет проблемы со ссылками если добавить поля DateStart, DateEnd
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544181
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ну так нет проблемы со ссылками если добавить поля DateStart, DateEnd
В справочник?
И вместо удаления обновили эти даты?
Нет возражений.

На мой взгляд проблема чисто человеческая. Бизнес пользователи не могут сформулировать как именно они хотят чтобы все выглядело после удаления, так что проще сказать - все будет по прежнему, но для новых данных вы эту запись не увидите.
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544289
mvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp,

Такая корзина может быть востребована, если существует хотя бы теоретическая необходимость восстановления "удаленных" записей (по образцу корзины windows), в прочих ситуациях обычно используют различные схемы с периодом актуальности записи.
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544404
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spПрочитал некоторые статьи и авторы пытаются там реализовывать "корзину удалённых записей".
Насколько это разумно и востребовано?
Корзина как таковая редко когда нужна. Очень редко.

Есть довольно разумное правило "запись, поучаствовавшая в какой-нибудь бизнес-операции, не должна окончательно удаляться". Оно связано с периодически возникающей необходимостью искать концы или переделывать что-нибудь сильно задним числом. Удалять можно только "черновики".

Уникальность записей в справочниках здесь особой роли не играет. Скорее по бизнесу - если нечто уникальное удалено, то делать вторую запись с ним как-то не требуется, скорее уж "восстанавливают", но в любом случае, никто не мешает

Код: plsql
1.
create unique index some_value_ui on table (case where deleted = 0 then value else null end);
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544411
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp,

От предметной области/задачи зависит, наверное. Но мне не встречались задачи, где данные надо удалять из базы. Другими словами - то, что в базу попало, оттуда уже никуда не пропадает. Релизую где через флаг активности/видимости/актуальности, где через поле статуса (активен - в архиве - удален), где через период актуальности - в зависимости опять же от задачи. Но не удаляю никогда. И никогда не встречал проблемы уникальности где бы то ни было, а не только в справочниках. Более того, даже не могу понять, откуда этой проблеме взяться.
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544417
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonline,

проблема с уникальностью может возникнуть когда запись у вас "удалена" и создана еще аналогичная запись.
При попытке "удалить" ее - у вас и возникнет проблема уникальности!
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544462
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spmiwaonline,

проблема с уникальностью может возникнуть когда запись у вас "удалена" и создана еще аналогичная запись.
При попытке "удалить" ее - у вас и возникнет проблема уникальности!

Это привет горячий всем любителям естественных ключей.
А вообще-то эта тема "ползёт" с FoxPro, не к ночи будет помянуто, где записи можно было после удаления либо восстановить, либо окончательно удалить.

А по сабжу - если требуется такой функционал, то два пути:
1. Во все таблицы добавить поле состояния где хранить статус записи, +, версию записи. в случае наличия уникальных индексов - в уникальность дополнительно включать поля статуса и версии
От естесственных ключей придётся отказаться или развести геммор дополнительным учётом статуса и версии.
2. При удалении записи помещать её с помощью триггера на удаление в специально организованную "помойку", скорее всего это будет копия БД с таблицами вида tmp_MYTABLE1 .....tmp_MYTABLEn
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544593
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot sp]Насколько это разумно и востребовано?х[quot]
разумно, но не востребовано. делал, но пользовались очень редко. фичу удалил.
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544622
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeon111. Во все таблицы добавить поле состояния где хранить статус записи, +, версию записи. в случае наличия уникальных индексов - в уникальность дополнительно включать поля статуса и версии
От естесственных ключей придётся отказаться или развести геммор дополнительным учётом статуса и версии.
2. При удалении записи помещать её с помощью триггера на удаление в специально организованную "помойку", скорее всего это будет копия БД с таблицами вида tmp_MYTABLE1 .....tmp_MYTABLEn
Дополнительно потребуется таблица логических транзакций-операций.
Там надо будет запоминать вид операции, время, автора, имена таблиц, id старых и id новых записей,
чтобы правильно вернуться к предыдущему состоянию, где-то читал про это.
У нас эксплуатируется система, позволяющая делать откаты (в смысле "undo"). Откатывается от последнего состояния до нужного.
Используется активно в отдельных задачах, т.к. пользователи часто меняются, вытворяют бог знает что, приходится подчищать.
Отчасти поэтому система работает медленно. Если операция сложная, откат не работает.
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38544795
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spmiwaonline,

проблема с уникальностью может возникнуть когда запись у вас "удалена" и создана еще аналогичная запись.
При попытке "удалить" ее - у вас и возникнет проблема уникальности!
На самом деле " у вас "удалена" и создана еще аналогичная запись" - это, в силу природы вещей, каждая операция UPDATE.

Поэтому это не только

zeon11Это привет горячий всем любителям естественных ключей.

Но и любители суррогатных тоже без приветв не останутся, скорее всего.

Возможно, имеет значение, уточнение цели создания "Корзины": мало, может там будет совсем нужна "своя" уникальность.
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38545057
R7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
R7
Гость
Проблема восстановления утраченной записи после удаления/апдейта сводится к определению актуальности этой утраченной записи.
Например. Если с последнего изменения объекта никаких действий с БД не происходило вообще, то запись актуальна и восстановление возможно.
А все остальные критерии актуальности, ну их нафиг. Тот еще гемор.
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38545343
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, понял что Корзина - вещь во многом надуманная и непрактична )
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38545371
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spmiwaonline,

проблема с уникальностью может возникнуть когда запись у вас "удалена" и создана еще аналогичная запись.
При попытке "удалить" ее - у вас и возникнет проблема уникальности!
С какого перепугу? Данные при попадании в таблицу получают идентификатор; его уникальность гарантировано обеспечивается внутренними механизмами используемой СУБД. А дальше, «если клиент идиот», он может хоть миллион одинаковых значений внести; все равно они будут иметь разные идентификаторы. Ну или постелить соломки для таких уникалов и подсказывать: есть, мол, тут такая же запись, только удаленная - может, восстановим ее вместо создания новой?

vadiminfospmiwaonline,

проблема с уникальностью может возникнуть когда запись у вас "удалена" и создана еще аналогичная запись.
При попытке "удалить" ее - у вас и возникнет проблема уникальности!
На самом деле " у вас "удалена" и создана еще аналогичная запись" - это, в силу природы вещей, каждая операция UPDATE.

Поэтому это не только

zeon11Это привет горячий всем любителям естественных ключей.

Но и любители суррогатных тоже без приветв не останутся, скорее всего.

А можно хоть приблизительный сценарий такого привета?
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38545383
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonline,

не горячитесь вы так - поспокойней)
есть табличка в которой храним, к примеру - список каких-либо коэффициентов.
для гарантии от ошибок ввода дублированных значений создаем уникальный индекс<коэффициент, удален/неудален> - ну вот теперь дальше тот сценарий который я вам написал выше...
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38545387
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeon11А вообще-то эта тема "ползёт" с FoxPro
Тогда уж с dBase. Про первый не скажу, а во втором уже была эта фича.
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38545458
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spне горячитесь вы так - поспокойней)

А где я горячился?

spесть табличка в которой храним, к примеру - список каких-либо коэффициентов.
для гарантии от ошибок ввода дублированных значений создаем уникальный индекс<коэффициент, удален/неудален> - ну вот теперь дальше тот сценарий который я вам написал выше...

Любая нормальная СУБД не даст вставить/изменить данные, нарушающие уникальный индекс. Или "проблема" - это корректно обработать ошибку, которую сгенерировала СУБД?
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38545534
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spне горячитесь вы так - поспокойней)
Миша не горячится и для разнообразия прав.

spесть табличка в которой храним, к примеру - список каких-либо коэффициентов.
для гарантии от ошибок ввода дублированных значений создаем уникальный индекс<коэффициент, удален/неудален> - ну вот теперь дальше тот сценарий который я вам написал выше...
Если специально стараться, его, конечно, можно создать. Вот только он совершенно бредовый и демонстрирует редкостную кривизну рук. В частности, выше я уже приводил решение, с которым этот сценарий никаких "не даёт удалить второй раз" не делает. Решение, не использующее функциональных индексов, можете придумать самостоятельно.
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38545549
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonline,

человек, который в силу отсутствия прав на просмотр удаленных чужих записей долго будет тыкать до вечера кнопочку УДАЛИТЬ своей записи, не подозревая что в базе уже есть такая же удаленная запись и уникальный индекс не позволяет создать точно такую же :)
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38545550
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

как говорил мой начальник - с дуру можно и куй сломать!)) можно нагородить и кучу всякого хлама чтоб поддерживать никому ненужные и надуманные вещи - но проще этого не делать :)
...
Рейтинг: 0 / 0
Корзина удаленных записей- насколько это востребовано
    #38545573
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp,

Если юзер не имеет права даже посмотреть запись, то с какого перепугу он сможет создать точно такую же? Хотя да, тут ваш начальник прав, спору нет - нагородить можно всякого.

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

softwarerМиша не горячится и для разнообразия прав.

Красиво сформулировано, да. Спасибо за поднятое настроение
...
Рейтинг: 0 / 0
25 сообщений из 41, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Корзина удаленных записей- насколько это востребовано
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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