Database design 对于表中的“更新人”字段,首选的方法是什么?

Database design 对于表中的“更新人”字段,首选的方法是什么?,database-design,Database Design,只是想知道是否有在数据库中存储“Updated By”类型字段的首选方法或最佳实践。我倾向于只看到用户的名称被频繁存储,但我一直在用上次更新该表的用户的ID设计我的表 是否有理由使用一种方法而不是另一种?我喜欢我的方法有一个很好的反向参考,以获得用户。。。另一方面,它也通常意味着你永远不能删除用户(如果你也使用它来创建的话),所以也许这就是不删除用户的足够理由了?更不用说当所有东西都指向一个表时,图或ORM映射看起来有多么混乱…如果您有办法将更新绑定到数据库中由实体表示的用户,那么就使用它。如果

只是想知道是否有在数据库中存储“Updated By”类型字段的首选方法或最佳实践。我倾向于只看到用户的名称被频繁存储,但我一直在用上次更新该表的用户的ID设计我的表


是否有理由使用一种方法而不是另一种?我喜欢我的方法有一个很好的反向参考,以获得用户。。。另一方面,它也通常意味着你永远不能删除用户(如果你也使用它来创建的话),所以也许这就是不删除用户的足够理由了?更不用说当所有东西都指向一个表时,图或ORM映射看起来有多么混乱…

如果您有办法将更新绑定到数据库中由实体表示的用户,那么就使用它。如果您没有这种机制(例如,数据库中没有用户),那么存储用户名就可以了。

您的方法是正确的。您不希望删除用户(而是使用“活动”位字段对其进行存档)。这样,即使用户处于非活动状态,您仍然可以保留历史记录。

肯定会存储id而不是名称。否则,如果有人出于某种原因想更改用户名,你会怎么做


在大多数系统中,用户永远不应该被删除。只要有一个“活动”标志或类似的标志。

使用用户ID而不是用户名,它占用的空间更少。不要从数据库中删除用户行,使用状态字段将其标记为已删除