|
|
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
Поделитесь пожалуйста своим опытом и мнением Прочитал некоторые статьи и авторы пытаются там реализовывать "корзину удалённых записей". Насколько это разумно и востребовано? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2014, 19:20 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
Неплохо бы кинуть ссылки чтобы обсуждать более предметно. Это о том чтобы вместо физического удаления обновлять статус на неактивный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2014, 19:24 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
SERG1257, да именно так как мне кажется тут возникает проблема с уникальность записей в справочниках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2014, 19:25 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
собственно в своей работе как-то не сталкивался с необходимостью такой функциональности - может просто я не в курсе и это очень востребованная фича!?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2014, 19:27 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
Зато не возникает проблемы - а что делать со старыми данными которые ссылаются на удаляемую запись. А с уникальностью поборотся проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2014, 19:27 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
SERG1257, ну так нет проблемы со ссылками если добавить поля DateStart, DateEnd ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2014, 19:29 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
>ну так нет проблемы со ссылками если добавить поля DateStart, DateEnd В справочник? И вместо удаления обновили эти даты? Нет возражений. На мой взгляд проблема чисто человеческая. Бизнес пользователи не могут сформулировать как именно они хотят чтобы все выглядело после удаления, так что проще сказать - все будет по прежнему, но для новых данных вы эту запись не увидите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2014, 19:39 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
sp, Такая корзина может быть востребована, если существует хотя бы теоретическая необходимость восстановления "удаленных" записей (по образцу корзины windows), в прочих ситуациях обычно используют различные схемы с периодом актуальности записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2014, 22:13 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
spПрочитал некоторые статьи и авторы пытаются там реализовывать "корзину удалённых записей". Насколько это разумно и востребовано? Корзина как таковая редко когда нужна. Очень редко. Есть довольно разумное правило "запись, поучаствовавшая в какой-нибудь бизнес-операции, не должна окончательно удаляться". Оно связано с периодически возникающей необходимостью искать концы или переделывать что-нибудь сильно задним числом. Удалять можно только "черновики". Уникальность записей в справочниках здесь особой роли не играет. Скорее по бизнесу - если нечто уникальное удалено, то делать вторую запись с ним как-то не требуется, скорее уж "восстанавливают", но в любом случае, никто не мешает Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 02:36 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
sp, От предметной области/задачи зависит, наверное. Но мне не встречались задачи, где данные надо удалять из базы. Другими словами - то, что в базу попало, оттуда уже никуда не пропадает. Релизую где через флаг активности/видимости/актуальности, где через поле статуса (активен - в архиве - удален), где через период актуальности - в зависимости опять же от задачи. Но не удаляю никогда. И никогда не встречал проблемы уникальности где бы то ни было, а не только в справочниках. Более того, даже не могу понять, откуда этой проблеме взяться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 03:18 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
miwaonline, проблема с уникальностью может возникнуть когда запись у вас "удалена" и создана еще аналогичная запись. При попытке "удалить" ее - у вас и возникнет проблема уникальности! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 04:03 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
spmiwaonline, проблема с уникальностью может возникнуть когда запись у вас "удалена" и создана еще аналогичная запись. При попытке "удалить" ее - у вас и возникнет проблема уникальности! Это привет горячий всем любителям естественных ключей. А вообще-то эта тема "ползёт" с FoxPro, не к ночи будет помянуто, где записи можно было после удаления либо восстановить, либо окончательно удалить. А по сабжу - если требуется такой функционал, то два пути: 1. Во все таблицы добавить поле состояния где хранить статус записи, +, версию записи. в случае наличия уникальных индексов - в уникальность дополнительно включать поля статуса и версии От естесственных ключей придётся отказаться или развести геммор дополнительным учётом статуса и версии. 2. При удалении записи помещать её с помощью триггера на удаление в специально организованную "помойку", скорее всего это будет копия БД с таблицами вида tmp_MYTABLE1 .....tmp_MYTABLEn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 08:01 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
[quot sp]Насколько это разумно и востребовано?х[quot] разумно, но не востребовано. делал, но пользовались очень редко. фичу удалил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 10:11 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
zeon111. Во все таблицы добавить поле состояния где хранить статус записи, +, версию записи. в случае наличия уникальных индексов - в уникальность дополнительно включать поля статуса и версии От естесственных ключей придётся отказаться или развести геммор дополнительным учётом статуса и версии. 2. При удалении записи помещать её с помощью триггера на удаление в специально организованную "помойку", скорее всего это будет копия БД с таблицами вида tmp_MYTABLE1 .....tmp_MYTABLEn Дополнительно потребуется таблица логических транзакций-операций. Там надо будет запоминать вид операции, время, автора, имена таблиц, id старых и id новых записей, чтобы правильно вернуться к предыдущему состоянию, где-то читал про это. У нас эксплуатируется система, позволяющая делать откаты (в смысле "undo"). Откатывается от последнего состояния до нужного. Используется активно в отдельных задачах, т.к. пользователи часто меняются, вытворяют бог знает что, приходится подчищать. Отчасти поэтому система работает медленно. Если операция сложная, откат не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 10:41 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
spmiwaonline, проблема с уникальностью может возникнуть когда запись у вас "удалена" и создана еще аналогичная запись. При попытке "удалить" ее - у вас и возникнет проблема уникальности! На самом деле " у вас "удалена" и создана еще аналогичная запись" - это, в силу природы вещей, каждая операция UPDATE. Поэтому это не только zeon11Это привет горячий всем любителям естественных ключей. Но и любители суррогатных тоже без приветв не останутся, скорее всего. Возможно, имеет значение, уточнение цели создания "Корзины": мало, может там будет совсем нужна "своя" уникальность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 12:02 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
Проблема восстановления утраченной записи после удаления/апдейта сводится к определению актуальности этой утраченной записи. Например. Если с последнего изменения объекта никаких действий с БД не происходило вообще, то запись актуальна и восстановление возможно. А все остальные критерии актуальности, ну их нафиг. Тот еще гемор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 13:46 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
Спасибо, понял что Корзина - вещь во многом надуманная и непрактична ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 16:04 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
spmiwaonline, проблема с уникальностью может возникнуть когда запись у вас "удалена" и создана еще аналогичная запись. При попытке "удалить" ее - у вас и возникнет проблема уникальности! С какого перепугу? Данные при попадании в таблицу получают идентификатор; его уникальность гарантировано обеспечивается внутренними механизмами используемой СУБД. А дальше, «если клиент идиот», он может хоть миллион одинаковых значений внести; все равно они будут иметь разные идентификаторы. Ну или постелить соломки для таких уникалов и подсказывать: есть, мол, тут такая же запись, только удаленная - может, восстановим ее вместо создания новой? vadiminfospmiwaonline, проблема с уникальностью может возникнуть когда запись у вас "удалена" и создана еще аналогичная запись. При попытке "удалить" ее - у вас и возникнет проблема уникальности! На самом деле " у вас "удалена" и создана еще аналогичная запись" - это, в силу природы вещей, каждая операция UPDATE. Поэтому это не только zeon11Это привет горячий всем любителям естественных ключей. Но и любители суррогатных тоже без приветв не останутся, скорее всего. А можно хоть приблизительный сценарий такого привета? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 16:18 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
miwaonline, не горячитесь вы так - поспокойней) есть табличка в которой храним, к примеру - список каких-либо коэффициентов. для гарантии от ошибок ввода дублированных значений создаем уникальный индекс<коэффициент, удален/неудален> - ну вот теперь дальше тот сценарий который я вам написал выше... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 16:22 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
zeon11А вообще-то эта тема "ползёт" с FoxPro Тогда уж с dBase. Про первый не скажу, а во втором уже была эта фича. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 16:23 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
spне горячитесь вы так - поспокойней) А где я горячился? spесть табличка в которой храним, к примеру - список каких-либо коэффициентов. для гарантии от ошибок ввода дублированных значений создаем уникальный индекс<коэффициент, удален/неудален> - ну вот теперь дальше тот сценарий который я вам написал выше... Любая нормальная СУБД не даст вставить/изменить данные, нарушающие уникальный индекс. Или "проблема" - это корректно обработать ошибку, которую сгенерировала СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 17:02 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
spне горячитесь вы так - поспокойней) Миша не горячится и для разнообразия прав. spесть табличка в которой храним, к примеру - список каких-либо коэффициентов. для гарантии от ошибок ввода дублированных значений создаем уникальный индекс<коэффициент, удален/неудален> - ну вот теперь дальше тот сценарий который я вам написал выше... Если специально стараться, его, конечно, можно создать. Вот только он совершенно бредовый и демонстрирует редкостную кривизну рук. В частности, выше я уже приводил решение, с которым этот сценарий никаких "не даёт удалить второй раз" не делает. Решение, не использующее функциональных индексов, можете придумать самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 18:05 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
miwaonline, человек, который в силу отсутствия прав на просмотр удаленных чужих записей долго будет тыкать до вечера кнопочку УДАЛИТЬ своей записи, не подозревая что в базе уже есть такая же удаленная запись и уникальный индекс не позволяет создать точно такую же :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 18:13 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
softwarer, как говорил мой начальник - с дуру можно и куй сломать!)) можно нагородить и кучу всякого хлама чтоб поддерживать никому ненужные и надуманные вещи - но проще этого не делать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 18:15 |
|
||
|
Корзина удаленных записей- насколько это востребовано
|
|||
|---|---|---|---|
|
#18+
sp, Если юзер не имеет права даже посмотреть запись, то с какого перепугу он сможет создать точно такую же? Хотя да, тут ваш начальник прав, спору нет - нагородить можно всякого. На всякий случай напомню - я описывал только свой опыт и круг задач, с которыми сталкивался лично. И в самом начале подчеркивал, что есть наверняка и другие задачи, для которых могут быть условия или ограничения (в том числе архитектурные, а не диктуемые предметной областью), которые мне неизвестны, и которые требуют именно физически удалять данные с базы. Но изначальный вопросс как раз и был об опыте, не? softwarerМиша не горячится и для разнообразия прав. Красиво сформулировано, да. Спасибо за поднятое настроение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2014, 18:35 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38544181&tid=1540232]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 196ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...