В чем преимущество удаления / обновления времени / даты создания записи таблицы? - PullRequest
1 голос
/ 17 декабря 2011

В чем преимущество удаления / обновления времени / даты создания записи таблицы? Я видел систему, в которой у таблиц есть дополнительные поля DELETED (логическое), CREATED_DATE (datetime), UPDATED (datetime) ... в чем ее преимущество?

Ответы [ 5 ]

2 голосов
/ 17 декабря 2011

Подходит для аудита. Вы можете представить, когда (и часто кто) изменил / удалил запись. Другие виды использования включают в себя очистку старых записей на основе их возраста, представление старых данных отношений в том виде, в каком они были, когда запись была активной, и, как правило, отслеживание изменений во времени.

2 голосов
/ 17 декабря 2011

Обычно это делается для целей аудита. Вы должны делать это, только если у вас есть соответствующее требование в вашем дизайне.

Для более сильного вкуса ведения истории рассмотрим CQRS или временные таблицы .

1 голос
/ 17 декабря 2011

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

Как и отдельные таблицы (с дополнительной временной информацией) для истории, информация о записи обычно также хранится в строке, как вы заметили. Обычно столбцы «Когда» и «По» для «Создано», «Изменено», «Деактивировано» и т. Д.

Идея «IsDeleted» называется логическим или мягким удалением для сохранения данных.
Большинство систем, над которыми я работал, запрещают «жесткое» удаление, за исключением определенных условий

1 голос
/ 17 декабря 2011

С удаленным логическим значением вы просто помечаете запись как удаленную, а не фактически удаляете ее из базы данных.Таким образом, вы сохраняете все данные, даже удаленные, а не просто выбрасываете их.Таким образом, вы можете отменить / восстановить удаленную запись, например.

Дата создания может быть удобной во многих случаях, когда создается запись в блоге, когда пользователь регистрируется и т. Д. Обновление сообщит вам, когда данныепоследний раз редактировалось.

1 голос
/ 17 декабря 2011

Основными причинами являются:

  • для аудита изменений таблицы на уровне записи без изменений истории (только последнее изменение).

  • Управление параллелизмом в модель доступа к отключенной базе данных : запись в приложении, прежде чем сохранить ее, проверяет, изменилась ли строка в среднее время.*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...