2010-05-20 80 views
4

假設我有一個簡單的幫助臺應用程序記錄用戶所做的調用。處理丟失的數據

我通常會在與呼叫相關的表格中包含這樣的字段,例如,呼叫標識,說明,客戶ID等

我也有客戶的表格,包括客戶ID,用戶名,密碼,全名等

現在,當用戶從客戶表中刪除,然後內部調用之間的連接表和用戶表,以查明歷史上哪個用戶記錄了呼叫將不會產生任何結果。

人們通常會如何處理這個問題?

  • 有單獨的客戶和useraccount表
  • 所以數據仍然可用
  • 記錄在電話表作爲一個單獨的領域的客戶名稱只是禁用帳戶。

或其他方法/建議?

回答

0

刪除記錄很少是一個好主意。通常你會想要包含一個isActive標誌,明確的有效日期或者沿着這些行的東西。

0

假設你正確地規範了數據,你不應該能夠刪除客戶記錄,因爲你有1個客戶打了很多電話,客戶pk被呼叫fk引用,這就是數據完整性。我認爲在客戶中有效的日期是唯一不刪除電話的方法。非規範化數據絕對不是要走的路。

1

正如其他答案指出的那樣,常見的解決方案是使用標記將客戶記錄標記爲「已刪除」,「過期」或類似標記。

請注意,由於隱私原因/隱私法律,您可能需要刪除個人信息(姓名,地址等)。然後,您需要在記錄中留白一些字段,用佔位符值替換它們。

另一種方法是徹底刪除客戶記錄,併爲刪除的客戶記錄一個「虛擬」客戶記錄。然後,您可以將所有客戶的從屬記錄重新分配給傻子。這當然會丟失信息,但是如果要刪除個人信息必須刪除 - 如果您保留客戶記錄,您可以看到哪些相關數據屬於哪個(刪除)客戶,這有時可能足以猜測被刪除的客戶的身份。

您需要根據要求和法規來決定。