powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Логическое удаление
6 сообщений из 6, страница 1 из 1
Логическое удаление
    #33855086
Igethim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет,

Хотелось бы уточнить следующее:

Имеется система в которой данные не могут удаляться в течении 5 лет.
Поэтому практически во всех таблицах в базе данных будет присутствовать битовое поле Active, который при значении 1 будут указывать на то, что запись якобы была удалена.

Теперь вопросы. Правильно ли будут следующие действия?:

1. Допустим компания торгует различными видами канц товаров. Однажды они перестают торговать ручками и запись "ручка" в таблице "Типы" логически удаляется. Но, после одного месяца компания вновь решает торговать данным видом. Для этого юзер вносить в базу тип "ручка". В этот момент программа находит данную запись в таблице и значение в поле Active приравнивает к 0 - то есть указывается что запись вотановлена (а не создана заново)

2. Допустим тип "ручка" вновь удаляется (поле Active = 1). Юзер решает тип товара "линейка" поменять на "ручка". В данном случае программа меняет поле Active записи "ручка" на 0 (активизируется), а поле Active записи "линейка"
на 1 (удаляется, закрывается)

Что скажете? Приемлемое решение или нет?
...
Рейтинг: 0 / 0
Логическое удаление
    #33855467
Igethim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может не понятно что здесь имеется в виду?
...
Рейтинг: 0 / 0
Логическое удаление
    #33855471
LenaV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такая логика построения базы данных собъет вам все отчеты.
Битовое поле Active должно существовать, чтобы указывать текущую или старую (удаленную) занись. Но старая запись не должна менятся на новую. Должна быть создана новая запись с Active равное 0. Также в каждой записе должны быть поля с датами когда "ручка" стала активной (т.е. создалась новая запись) и когда "ручка" удалилась (Active равное 1). Это облегчит вам создание отчетов и архивирование данных.
...
Рейтинг: 0 / 0
Логическое удаление
    #33855487
f2f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
f2f
Гость
А вместо поля Активна/Удалена советую использовать поле ДатаУдаления.
Тогда можно будет увидеть состояние базы на прошлую дату
...
Рейтинг: 0 / 0
Логическое удаление
    #33855579
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Приемлемое решение или нет?

Нет. Логические метки активности - приемлемы и никак не связаны с удалением. Переименование в принципе недопустимо.
...
Рейтинг: 0 / 0
Логическое удаление
    #33855587
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, не логичнее было было Active=1 считать как раз активной записью, а Active=0 удалённой? Это как-то более интуитивно, мне кажется
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Логическое удаление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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