2013-02-06 35 views
0

我見過很多業務系統沒有在Users表上使用連接,而是將用戶名(或名字+姓氏)複製到CreatedBy審計字段。審計列 - 加入或複製?

我已經看到這種方法的一個問題 - 用戶可能會結婚並更改她的姓氏,然後CreatedBy字段將保留舊值。

爲什麼要從數據標準化中退出併爲CreatedBy字段創建多餘的文本數據是否有充分的理由?

回答

0

在不使用外鍵引用的情況下存儲某人的姓名可讓您刪除用戶,而不會影響他們創建的行的相關信息。這是否明智取決於應用程序。

在大多數組織中,如果知道3年前某人的名字很重要,那麼有一些方法可以做到。它可能不在數據庫中。它可能是,「去人力資源部問傑裏,他記得每個人。」 這個是否明智也是依賴於應用程序的。

在任何情況下,這並不一定違反規範化的任何指導原則。在這種情況下,您正在存儲當前名稱或用戶的首選名稱。在另一種情況下,您在創建行時存儲用戶的名稱,這仍然是一個真實的事實。