初探:
数据质量规范
- 数据标准
- 表格和字段名
- 实际的物理结构名称与命名习惯的比较(物理结构可指表格、视图、字段等)
- 确保名称中使用的任何缩略语都是公认 的标准缩略语
- 如果没有规定的命名习惯,请寻找这些名称自身的一致性
- 数据录入准则:
- 录入数据所遵循的准则可包括公认的缩略语、大小写(大写、小写与标题大小写)和标点等
- 数据模型
- 寻找清晰且可以理解的名称和定义
- 检查数据模型以确保实体和数据关系是一致的
- 确定数据模型如何被沟通和使用
- 确保命名结构(包括大小写和标点)与命名习惯是一致的
- 业务规则
- 检查正确和完整定义的业务规则
- 寻找那些有关实例(记录)或特殊数据字段在POSMAD生命周期中应该如何以及何时被处理的明确的或隐含的陈述
- 确定主要状态变更发生的位置以及相应的数据行为(例如,那些有可能成为主顾的人购买产品时就变成了客户。)相应规则应该是"当可能成为主顾的人变成客户时,将客户指示标志换成A(活跃的客户)"
- 元数据
- 数据定义
- 确保每个字段和表格都有一个定义
- 确保每个定义都是完整的、准确的和可理解的
- 确保字段被确定为强制性的,可选择的或有条件的字段(具有归档条件)
- 参考数据
- 数据列表的域和格式准则
- 检查数值列表是否只包含有效值
- 检查数值是否包括一个质量定义
- 确定数值列表是否完整(例如,包括所有必须的数值)
- 确定数值是否相互冲突(例如,选择数值时应无混淆,数值的含义不重叠)
数据完整性准则(Data Integrity Fundamentals):
对数据的存在性、有效性、结构、内容和其他基本特性的测量标准
- 记录数: 正在评估的数据集的记录数量
- 检查记录数量是否与预期数量相符。如果不符,调查缺失记录的根本原因并在此剖析数据集
- 完整性或填充率:包含值得字段的数量(#)和百分比的测量标准
- 完整性或填充率只基于数值的存在性。需要另外的分析以确定这些值是否有效。要诠释结果,需知道哪些字段是必须的(强制性的)、可选择的或有条件的。如果字段是必填的(应用必填、业务必填或者该字段是主键),其填充率应是100%
- 如果必填字段的填充率小于100%,请调查以下原因:
- 如果是业务必填字段,产看应用软件是否需要登陆
- 如果应用软件不需要登陆,查看其是否可针对需要的数据进行修改
- 如果应用软件不能修改,对那些录入数据的人的资料进行归档,并对他们进行培训。在这种情况下下,应密切监视数据
- 检查在数据库中实施"非空"的可行性
- 在两个不同层面上检查完整性/填充率
- 单个列或字段:确定字段中是否存在数据 - 如"80%的客户记录在部门字段中有编码"
- 一组数据:确定完成特定基本流程所需一系列字段的填充率。例如,在美国,邮寄需要姓名、地址、城市名、州名和邮政编码。为评估这些字段的填充率,确定所有必填字段都有一个值的记录数- 例如,"75%的用户记录有创建邮寄标签所需的数据。"
- 空: 空字段(空是因为字段中什么也没有)的数据量(#)和百分比(%)的测量标准
- 空是与完整性或填充率相反的。完整性或者填充率的分析同样适用于此;只需要用相反的观点来对其进行评判
- 唯一值列表:字段中不同的或者唯一值的列表
- 确定数值是允许或有效的。不同的字段的有效值集也不同。有效值也被看成数据域或值域集
- 检查该字段中不同值得数目与有效值的数目
- 可能的话,比较实际的不同值列表与预期有效值列表。预期有效值可来自诸如参考表格或编码列表的数值列表,也可来自主题专家,或来自公司遵循的外部标准。
- 如果业务没有有效值列表,请使用来自剖析的列表作为起点来开发一个有效值列表。
- 寻找默认值 - 例如,应用软件会自动将一个数值插入空白字段,比如电话号码没有录入,就自助插入"999- 999 -999"。因不提供任何有意义的信息,可决定将任何含默认值的字段看成没有填充。将默认值归档。
- 寻找有重复含义的值 - 例如,同一个公司名称有不同的缩写。
- 如果对数值列表进行变更,将所有数值映射,并用需要变更的值更新记录
- 有效性:对字段中的值是都在允许的或有效的数值中的测试
- 对每个字段的“有效的”含义进行定义和归档;不同字段的有效性构成不同。
- 合法性测试可包括格式或样式、域、有效编码、类型(字母的/数字的)、依赖关系、业务规则、数据录入标准、最大和最小值范围,等等
- 例如,记录中的所有编码是否被系统编码表中的业务定义为有效编码;如果是数字字段,字段中是否有字母;日期字段中的日期是否在必须的范围内
- 有效性测试结果可以完整性/填充率的百分比来报告 - 例如,美国邮政编码字段有95%的填充率;90%的有值记录符合美国有效邮政编码的形式
- 频率分布:字段中唯一值的分布,通过数量(#)和百分比(%)来度量
- 频率分布给出了一个使用思路 - 评判最高和最低数值量
- 可考虑放弃那些使用频率低的数值,并改用一个常用的可比较的数值
- 研究所发现的常量。常量是指每个记录有相同数值的任一列。这可以是从未使用或不再使用的数据元素的标志
- 确定数值分布是否是所期望的分布 - 例如,如果有地区间的销售记录分布,地区编码的频率分布是否与每个地区的销售百分比期望相符
- 如果对数值列表已做变更,请将数值映射归档,并用需要变更的数值更新记录
- 寻找在分析信息环境时可能已经发现的切被正被业务广泛使用的那些异常数值的发生频率。例如,如果创建记录的人正在向不知道其值得系统必填字段中录入句点(.), 请决定该字段中句点的数目
- 观察默认值或假值得频率分布. 如"999-999-999"电话 或者姓名字段中的"Mickey Mouse"
- 使用频率分布确定待选主键。"100%唯一性"或者接近"100%唯一性" 也许是待选的- 但有脏数据
- 如果不同值得比重较低,等值字段可能是相关的,许多空值(null)或者零值(0)可能就有问题了
- 通常50%的不同值将由其他列确定是否为纯业务数据
- 有特定值=1的#个字段(例如,所有记录在该字段的值均相等)是潜在无用或具有常数属性。确定是否应为此在数据库中占用一定空间。考虑输入到一个常数表中
- 最大值和最小值范围:由最大值或最小值表示数值范围
- 整值范围上界和下界的任何数值可快速显示数据质量问题 - 例如,社会保险号码或ID字段中的999-999-999或者姓名字段中的ZZZZZ
- 观察重要日期字段的最大值和最小值 - 例如,寻找未处理完成的发货单或购买订单的日期以确定它们是都应列入业务准则,如不应有6个月之前的未处理完成的购买订单
- 寻找期望之外或归档范围以外的数值
- 新鲜度:关键日期字段或日期范围的频率分布
- 与日期字段或数据范围相关的一类频率分布 - 例如, "20%"的记录在最近的0~12月期间得到过更新;25%在最近的13~24个月得到过更新“等,或基于创建日期, 50%的记录在最近的一年内创建"
- 还被用于向两个其他数据质量维度模拟或提供输入数据: 及时性(数据的及时程度)和数据衰变(数据的负面变化率)
- 内容: 数据内容与列或字段名称的匹配
- 比较列或字段名与数据内容
- 字段包含的是否是预期数据 - 例如,电话号码字段真的包含电话号码或它们是否是社会保险号码
- 重复: 确定是否存在意外重复
- 通过批判重复含义数值列表来获取重复数据的高层视图
- 有些工具提供不同列间的数据值比较,以及通常基于不同数值精确字符串匹配的重叠百分比
- 有些数据剖析工具强调仅基于精确字符串匹配的重复数据,但其他工具使用经常被称为"模糊匹配的"工具。Soundex和NYSIIS (New York State Identification and Intelligence System, 纽约州识别和智能系统)是被广泛使用的帮助识别重复数据的语音编码系统
- 数据类型:
- 寻找通过剖析工具推断的、预期数据类型和实际数据类型之间的差异
- 工具可显示归档的数据类型(或每个元数据的预期数据类型), 并与从实际数据内容中推断出的数据类型进行比较;该工具也标记源数据类型和目标数据类型之间的不相容性,该问题需在迁移数据时予以解决
- 对数据模型而言,该工具也呈现数据类型以及可用于该模型中的替代数据类型实例
- 大小或长度:字段中数据的长度
- 寻找实际数据大小与预期数据大小之间的差异
- 寻找大量具有完全相同大小的记录,这可显示该字段中已被缩减了的数据
- 如果源和目标系统之间的大小存在差异,确定超出目标大小的源记录的数目和百分比
- 如果数目小,需要人工更新记录
- 如果数据大,需了解如果数据在迁移时被删减将会对业务产生什么样的影响
- 样式:数据中发现的唯一样式的数量(#)和百分比(%)
- 寻找意外的样式 - 例如,美国邮政编码只有几个有效样式:#####, #####-#####, ##### #####
和##########。如果字段中的样式不是上述这些,就存在数据质量问题
- 预期的或有效的样式将根据字段的不同而不同
- 寻找ID字段的同一样式
- 精度
- 对数字数据,要确定小数点的位置是否在所需精度的位置
- 一致性: 同一记录中相关字段的合理性测试
- 评判记录中数据的一致性
- 评判记录之间数据的一致性
- 评判高层业务规则以了解其关联关系,并寻找符合性(例如,订购日期必须总在运送日期之前;如果运送日期在订购日期之前,就有数据质量问题)
- 寻找其他以来关系。一个字段中具有正确格式的值与另一个字段中的值相关联(例如,美国地址包括具有有效格式的邮政编码)
- 寻找计算:作为每一个源元素的存储计算值是正确的(例如,销售项总额等于下手项价格乘以销售项数量)
- 并发性和及时性:各种数据库,应用软件和流程之间数据同步和数据流时序
- 剖析多个数据库,并比较其结果的差异
- 业务规则
- 确定是都没有被植入进数据结构中的业务/数据规则正由应用程序逻辑实施。这通常都是针对自身规则的数据子集。例如,可能有具有特定规则的不同当事者类型(组织、合同等),这些规则需要某些列为空,而其他列要输入。
数据质量维度
- 数据规范(Data Specification)
- 数据完整性准则(Data Integrity Fundamentals)
- 重复(Duplication)
- 准确性(Accuracy)
- 一致性和同步性(Consistency and Synchronization)
- 及时性和可用性(Timeliness and Availability)
- 易用性和可维护性(Ease of Use and Maintainability)
- 数据覆盖(Data Coverage)
- 表达质量(Presentation Quality)
- 可理解性、相关性和可信度(Perception, Relevance and Trust)
- 数据衰变(Data Decay)
- 效用性(Transact ability)
科德完整性约束
- 实体完整性(entity integrity)
实体完整性的程度= 1- (主键为空的行数/总行数)
- 参照完整性(referential integrity)
参照完整性约束 = 1-(不包括从属表中空值的不匹配值得行数/ 从属表的总行数)
- 域完整性(domain integrity)
- 列完整性(Column integrity)
列完整性约束 = 1-(无效列值得数量/表中的总列数)
- 业务规则(Business rule)
数据质量指标
- 无误性(free of error)
无误比率=1-(错误数据单元数量/数据单元总数)
- 完整性(completeness)
完整比率 = 1 -(不完整的数据单元数量/数据单元总数)
- 一致性(consistency)
一致比率=1-(违反一致性的数据单元数量/数据单元总数)
汇总形式
- 最小值方法
Min(M1, M2, M3,….M4)
方法:
- 数据可信度
可信度 = min(数据源的可信度, 与内部的惯用标准相比的可信度, 基于数据年龄的可信度)
- 数据适量性(appropriate amount of data)
数据适量比率=min(提供的数据单元数量/需要的数据单元数量, 需要的数据单元数量/提供的数据单元数量)
- 最大值方法
Max(M1, M2, M3, ….M4)
- 加权平均法
比率 =
- 及时性(timeliness)
及时性比率=
现值=发现时间 -输入时间+年限
波动是指数据保持有效的时间长度
s为敏感性指数,调节用。 S=1, 0.81; s=2, 0.49(更敏感,及时性降低更快)
- 可访问性(accessibility)
数据抽样??
数据安全
数据模型是否存在
数据是否存在字段说明
数据测试????检查