2008-11-03 22 views
13

我需要将真实客户信息(姓名,地址,电话号码等)的生产数据转移到开发环境中,但我想删除任何真实的外观real顾客信息。匿名客户数据以进行开发或测试

this question的一些答案可以帮助我生成新的测试数据,但是如何替换生产数据中的那些列,但保留其他相关列?

假设我有一个有10000个假名的表。我应该使用SQL更新进行交叉连接吗?或做类似

UPDATE table 
SET lastname = (SELECT TOP 1 name FROM samplenames ORDER By NEWID()) 
+0

你知道匿名数据库数据的开源框架? – 2015-05-22 06:42:56

回答

9

匿名化的数据可能会非常棘手,如果没有做正确可能导致你的麻烦,像发生了什么事AOL when they released search data a while back。在尝试转换现有客户数据之前,我会尝试从头开始创建测试数据。事情可能会导致您能够使用诸如行为分析和其他可能不认为敏感的数据点来确定数据所属的用户。我宁愿安然无恙。

5

如果您了解数据库,这比听起来容易。有一点必要的是要了解个人信息未正常化的地方。例如,客户主文件将具有名称和地址,但订单文件也将具有可能不同的名称和地址。

我的基本过程:

  1. ID的数据(即,列),并且其含有的那些列的表。
  2. 为这些列标识“主”表,以及这些列的非normailzed实例。
  3. 调整主文件。而不是试图随机化它们(或使它们变成假),将它们连接到文件的关键字。对于客户123,请将名称设置为name123,地址为123 123rd St,123town,CA,USA,电话1231231231.这有助于使调试变得非常简单!
  4. 更改非正常情况下,从主文件或者更新做同一种去个性化的

它并不漂亮,但它的作品。

相关问题