数据库设计 – 处理缺失的数据

假设我有一个简单的帮助台应用程序,用于记录用户发出的呼叫.

我通常会在与呼叫有关的表格中有这样的字段,例如CallID,描述,客户ID等

我还会有一个客户表,包括CustomerID,用户名,密码,FullName等.

现在,当从customers表中删除用户时,调用表和users表之间的内部联接以查找历史记录哪个用户记录调用将不会产生任何结果.

人们通常如何处理这个问题?

>有单独的客户和useraccount表
>只需禁用帐户,这样数据仍然可用
>将呼叫表中的客户名称记录为单独的字段.

或任何其他方法/建议?

最佳答案
正如其他答案所指出的,常见的解决方案是使用标志将客户记录标记为“已删除”,“已过期”或类似.

请注意,由于隐私原因/隐私法,您可能需要实际删除个人信息(姓名,地址……).然后,您需要清空记录中的某些字段,并用占位符值替换它们.

另一种方法是直接删除客户记录,并为已删除的客户提供一个“虚拟”客户记录.然后,您可以将所有客户的相关记录重新分配给dummmy.这当然会丢失信息,但是如果必须删除所有个人信息,这是唯一的方法 – 如果您保留客户记录,您可以看到哪些(从属)客户有哪些相关数据,有时可能足以猜测客户身份删除的客户.

您需要根据要求和规定做出决定.

转载注明原文:数据库设计 – 处理缺失的数据 - 代码日志