删除/更新有关表记录的时间/创建日期的好处是什么? 我看到一些系统,其中表有DELETED(布尔值),CREATED_DATE(日期时间),UPDATED(日期时间)额外字段......它有什么优势?
答案 0 :(得分:2)
适合审核。您可以在何时(通常是谁)更改/删除记录。 其他用途包括根据年龄清除旧记录,将旧关系数据显示为记录处于活动状态时的关系,并且通常跟踪随时间的变化。
答案 1 :(得分:2)
这通常用于审计目的。只有在设计中有相应要求时才应该这样做。
为了更好地保存历史记录,请考虑CQRS或temporal tables。
答案 2 :(得分:1)
主要的存在是:
在没有历史记录更改的情况下审核记录级别的表上的更改(仅限最后一次更改)。
disconnected database acces model中的并发控制:应用程序读取记录,在保存之前检查行是否在中间时间发生了变化。
答案 3 :(得分:1)
使用删除的布尔值,您只需将条目标记为已删除,而不是实际从数据库中删除它。这样你就可以保留所有数据,甚至是删除数据,而不是将其丢弃。这样,您可以取消/恢复已删除的条目。
创建日期在很多情况下都很方便,创建博客文章时,用户注册时等等。更新会告诉您上次编辑数据的时间。
答案 4 :(得分:1)
在某些领域(至少是财务,医疗),您有义务通过法规或法律获得完整的审计跟踪。这也将定期审核
除了历史记录的单独表格(具有额外的时间信息)之外,有关条目的信息通常也存储在行中,如您所述。通常为“创建”,“已更改”,“已停用”等列的“何时”和“按”列
“IsDeleted”的概念被称为逻辑或软删除以保存数据。
除了在某些条件下,我所做的大部分系统都禁止“硬”删除