删除/更新表记录的时间/创建日期的好处是什么?

时间:2011-12-17 17:56:36

标签: mysql sql database

删除/更新有关表记录的时间/创建日期的好处是什么? 我看到一些系统,其中表有DELETED(布尔值),CREATED_DATE(日期时间),UPDATED(日期时间)额外字段......它有什么优势?

5 个答案:

答案 0 :(得分:2)

适合审核。您可以在何时(通常是谁)更改/删除记录。 其他用途包括根据年龄清除旧记录,将旧关系数据显示为记录处于活动状态时的关系,并且通常跟踪随时间的变化。

答案 1 :(得分:2)

这通常用于审计目的。只有在设计中有相应要求时才应该这样做。

为了更好地保存历史记录,请考虑CQRStemporal tables

答案 2 :(得分:1)

主要的存在是:

  • 在没有历史记录更改的情况下审核记录级别的表上的更改(仅限最后一次更改)。

  • disconnected database acces model中的并发控制:应用程序读取记录,在保存之前检查行是否在中间时间发生了变化。

答案 3 :(得分:1)

使用删除的布尔值,您只需将条目标记为已删除,而不是实际从数据库中删除它。这样你就可以保留所有数据,甚至是删除数据,而不是将其丢弃。这样,您可以取消/恢复已删除的条目。

创建日期在很多情况下都很方便,创建博客文章时,用户注册时等等。更新会告诉您上次编辑数据的时间。

答案 4 :(得分:1)

在某些领域(至少是财务,医疗),您有义务通过法规或法律获得完整的审计跟踪。这也将定期审核

除了历史记录的单独表格(具有额外的时间信息)之外,有关条目的信息通常也存储在行中,如您所述。通常为“创建”,“已更改”,“已停用”等列的“何时”和“按”列

“IsDeleted”的概念被称为逻辑或软删除以保存数据。
除了在某些条件下,我所做的大部分系统都禁止“硬”删除