0

我见过许多业务系统没有在用户表上使用连接,而是将用户名(或名字+姓氏)复制到 CreatedBy 审计字段。

我已经看到这种方法的一个问题 - 用户可能结婚并更改她的姓氏,然后 CreatedBy 字段将保留旧值。

是否有充分的理由从数据规范化中撤出并为 CreatedBy 字段创建冗余文本数据?

4

1 回答 1

0

在不使用外键引用的情况下存储某人的姓名可以让您删除用户,而不会影响有关他们创建的行的信息。这是否明智取决于应用程序。

在大多数组织中,如果知道某人 3 年前的名字很重要,那么有一些方法可以做到这一点。它可能不在数据库中。可能是,“去 HR 问问 Jerry。他记得每个人。” 是否明智也取决于应用程序。

无论如何,这不一定违反任何规范化准则。在一种情况下,您要存储用户的当前名称或首选名称。在另一种情况下,您在创建行时存储用户的名称,这仍然是一个真实的事实。

于 2013-02-06T22:00:30.120 回答