|
|
|
Логическое удаление
|
|||
|---|---|---|---|
|
#18+
Всем привет, Хотелось бы уточнить следующее: Имеется система в которой данные не могут удаляться в течении 5 лет. Поэтому практически во всех таблицах в базе данных будет присутствовать битовое поле Active, который при значении 1 будут указывать на то, что запись якобы была удалена. Теперь вопросы. Правильно ли будут следующие действия?: 1. Допустим компания торгует различными видами канц товаров. Однажды они перестают торговать ручками и запись "ручка" в таблице "Типы" логически удаляется. Но, после одного месяца компания вновь решает торговать данным видом. Для этого юзер вносить в базу тип "ручка". В этот момент программа находит данную запись в таблице и значение в поле Active приравнивает к 0 - то есть указывается что запись вотановлена (а не создана заново) 2. Допустим тип "ручка" вновь удаляется (поле Active = 1). Юзер решает тип товара "линейка" поменять на "ручка". В данном случае программа меняет поле Active записи "ручка" на 0 (активизируется), а поле Active записи "линейка" на 1 (удаляется, закрывается) Что скажете? Приемлемое решение или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 18:46 |
|
||
|
Логическое удаление
|
|||
|---|---|---|---|
|
#18+
Может не понятно что здесь имеется в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2006, 07:38 |
|
||
|
Логическое удаление
|
|||
|---|---|---|---|
|
#18+
Такая логика построения базы данных собъет вам все отчеты. Битовое поле Active должно существовать, чтобы указывать текущую или старую (удаленную) занись. Но старая запись не должна менятся на новую. Должна быть создана новая запись с Active равное 0. Также в каждой записе должны быть поля с датами когда "ручка" стала активной (т.е. создалась новая запись) и когда "ручка" удалилась (Active равное 1). Это облегчит вам создание отчетов и архивирование данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2006, 08:03 |
|
||
|
Логическое удаление
|
|||
|---|---|---|---|
|
#18+
А вместо поля Активна/Удалена советую использовать поле ДатаУдаления. Тогда можно будет увидеть состояние базы на прошлую дату ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2006, 09:24 |
|
||
|
Логическое удаление
|
|||
|---|---|---|---|
|
#18+
> Приемлемое решение или нет? Нет. Логические метки активности - приемлемы и никак не связаны с удалением. Переименование в принципе недопустимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2006, 12:08 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33855587&tid=1545148]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
1408ms |
get topic data: |
11ms |
get forum data: |
4ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 195ms |
| total: | 1687ms |

| 0 / 0 |
