1

我们的一位客户想要检查每个表中的每个数据库记录。问题是,我们的数据库目前有几十个表(50多个),每个表已经有数千条记录。

我们的客户想要做的基本检查是检查每个表的哪些列具有空值。我们的客户假设如果平台用户只填写基本输入,这可能意味着用户没有充分利用平台中的可用输入。

满足此要求的最佳方法是什么?

我已经考虑过在统计上这样做:

  • Table1 有 30 条记录,其中包含以下空列(Column1、Column2、Column3)
  • 30% 的数据库表有空值记录
4

1 回答 1

2

我知道这并没有真正回答您提出的问题,但我认为仅检查“null”是要求的开始,但不太可能是结束。

在我使用大量数据完成的大多数项目中,我们最终构建了一个验证框架,该框架具有每个表的业务逻辑以及每个表中的每个字段。

例如,我们发现很多记录都包含虚假的电子邮件地址,因此我们编写了一个脚本来验证它们(最初很简单,检查域是否存在,并且不是“test.com”、“aaa.com”之一”、“qwerty.com”等)。我们还意识到我们收到了伪造的电话号码,因此我们检查了电话号码是否与明显虚构的电话号码相匹配 (123-456789)。

这是一个痛苦的背后,但如果企业想要了解数据的质量,这是唯一的方法。

我们最终编写了几十个小 SQL 脚本,每个脚本都吐出一个“可疑”记录列表,以及怀疑它们的原因。它并不漂亮,但它易于扩展、易于运行,并为企业提供了足够的信息来做出决策。

于 2012-05-23T11:23:03.780 回答