函数依赖与树结构的数据不一致检测与修复(源码)【字数:11011】
摘 要数据蕴含着巨大的价值,对企业、社会等方方面面都有着重要意义,为人们提供了丰富的信息。然而,在数据库中经常存在着一些脏数据,这些脏数据违背了数据的一致性原则,常导致企业造成决策性错误,为社会带来严重性后果。数据一致性问题已广泛引起学术界、工业界的重视,并展开了一系列的研究工作。对于数据的不一致性的研究,先前的学者提出了各种各样的方法,但是这些方法还存在不一致数据难以定位、修复方案可靠性较低等弊端。针对目前存在的问题,本文提出了基于函数依赖和树结构的不一致检测和修复方法。首先利用函数依赖查询不一致性的数据,再使用树结构将不一致性数据的位置准确定位,再利用概率论的方法获取数据的修复值,对数据进行修复。最后,经过实验表明,我们的方法能有效的检测数据的不一致性并高效的执行修复任务。
目 录
第一章 绪论 1
1.1研究背景 1
1.2存在问题 1
1.3本文工作 2
第二章 函数依赖及检测修复算法简介 4
2.1基于函数依赖的检测与修复方式 4
2.2基于条件函数依赖的检测与修复方式 5
2.3基于master表的修复方式 6
2.4章节小结 7
第三章 基于函数依赖与树结构的不一致数据检测方法 9
3.1基于树结构的不一致数据检测思想 9
3.2基于树结构与函数依赖的不一致数据的检测算法 9
3.3示例 11
3.4章节小结 13
第四章 基于概率的不一致数据修复方法 14
4.1基于概率的不一致数据修复思想 14
4.2基于概率的不一致数据修复算法 15
4.3示例 16
4.4总结 19
第五章 实验 20
5.1实验环境配置 20
5.2实验数据 20
5.3验证检测算法 20
5.4验证修复算法 21
5.5实验总结 22
第六章 总结 23
6.1 本文工作 23
6.2 未来工作与展望 23
结束语 25
致 谢 2 *好棒文|www.hbsrm.com +Q: #351916072#
6
参考文献 27
附录A 28
第一章 绪论
1.1研究背景
随着技术的发展,越来越多的人注意到数据的重要性。劣质的数据给信息社会造成巨大的损失、对信息社会形成严重的威胁。自从信息化时代的到来,数据在其中的地位越来越来重要,相应的对于数据的精确性、时效性[1]、一致性的要求越来越严格,数据的不精确性往往会影响人们的判断,带来严重的后果;过时的信息则会使商人缺乏先机,影响商人自身的商业发展;而不一致性则会带来错误的决策。
数据库解决了数据的存储问题,但是在数据集成应用系统中,可能会出现数据的重复、冲突、过时等问题[2]。一些调查与研究表明,企业对于“脏”数据出现的几率要低于10%高于5%[3]。“脏”数据带来的经济的损失高达一年数百亿美元以上,这些损失体现在工业、金融、医疗、等方方面面。因此现在急需处理脏数据的方法与工具,被称为数据的清洗系统,但是现有的清洗系统还存在一些弊端。有的无法保证清洗后数据的准确性,有的效率低下,有的甚至可能会引入新的错误。目前大部分的研究工作集中于数据的时效性、不一致性,精确性。李建中等人提出了一种时效性的判断方法,利用时效规则和算法有效的判断数据值是否处于最新状态[4]。针对数据的不一致性和精确性研究,学者们也提出了一些有效的方法,主要表现为:其一,基于数据依赖规则判断数据是否存在不一致性,其二是对于错误的数据提出相应的修复方法。
函数依赖是关系数据库中属性间的语义约束,是现实世界数据之间的关系在数据库中的抽象显示[5]。函数依赖只是数据依赖的其中一种依赖,其他还有包含依赖、多值依赖、连续依赖等数据依赖[11]。基于函数依赖进行修复的文献有很多,例如文献[68]中就提出对于大数据进行分布式大数据多函数依赖冲突检测,文献[9]提出了一种增量发现条件函数依赖的算法等,先前的学者对于函数依赖探究的十分透彻。对于数据的修复方式也是多种多样。在文献[2]提出了三种修复操作方式分别为插入元组,删除元组,修改元组属性值[18],但是该文献只是重点讲诉其中的一种修复操作方式并不全面。文献[10]则是以提升修复效率为目的,提出了在Hadoop平台并行清洗修复数据的方法。
1.2存在问题
目前先前学者的检测以及修复方式存在着一些问题,主要表现为:
1.先前学者依据函数依赖检测数据的不一致性时,往往通过类sql语句对数据集的数据不一致性进行查询。这种方式有着明显的缺点,仅能获得数据是否出错,但无法查找出数据出错的位置,给修复工作带来极大的困难。例如表1和表2的实例,当我们利用函数依赖关系(学号(成绩)查找错误的数据时,会发现当学号确定时,成绩的值并不唯一,因此成绩字段的值存在不一致性问题。然而,通过该方法我们并不能获取出现错误成绩所对应的具体学号或元组的位置,给修复工作带来极大的困难。
表11 学生成绩表
学号
姓名
性别
成绩
A10001
张三
男
67
B10002
李丽
女
97
A10003
王二
男
36
表12 学生成绩表
学号
姓名
性别
成绩
A10001
张三
男
67
B10002
李丽
女
57
B10004
花花
女
60
目 录
第一章 绪论 1
1.1研究背景 1
1.2存在问题 1
1.3本文工作 2
第二章 函数依赖及检测修复算法简介 4
2.1基于函数依赖的检测与修复方式 4
2.2基于条件函数依赖的检测与修复方式 5
2.3基于master表的修复方式 6
2.4章节小结 7
第三章 基于函数依赖与树结构的不一致数据检测方法 9
3.1基于树结构的不一致数据检测思想 9
3.2基于树结构与函数依赖的不一致数据的检测算法 9
3.3示例 11
3.4章节小结 13
第四章 基于概率的不一致数据修复方法 14
4.1基于概率的不一致数据修复思想 14
4.2基于概率的不一致数据修复算法 15
4.3示例 16
4.4总结 19
第五章 实验 20
5.1实验环境配置 20
5.2实验数据 20
5.3验证检测算法 20
5.4验证修复算法 21
5.5实验总结 22
第六章 总结 23
6.1 本文工作 23
6.2 未来工作与展望 23
结束语 25
致 谢 2 *好棒文|www.hbsrm.com +Q: #351916072#
6
参考文献 27
附录A 28
第一章 绪论
1.1研究背景
随着技术的发展,越来越多的人注意到数据的重要性。劣质的数据给信息社会造成巨大的损失、对信息社会形成严重的威胁。自从信息化时代的到来,数据在其中的地位越来越来重要,相应的对于数据的精确性、时效性[1]、一致性的要求越来越严格,数据的不精确性往往会影响人们的判断,带来严重的后果;过时的信息则会使商人缺乏先机,影响商人自身的商业发展;而不一致性则会带来错误的决策。
数据库解决了数据的存储问题,但是在数据集成应用系统中,可能会出现数据的重复、冲突、过时等问题[2]。一些调查与研究表明,企业对于“脏”数据出现的几率要低于10%高于5%[3]。“脏”数据带来的经济的损失高达一年数百亿美元以上,这些损失体现在工业、金融、医疗、等方方面面。因此现在急需处理脏数据的方法与工具,被称为数据的清洗系统,但是现有的清洗系统还存在一些弊端。有的无法保证清洗后数据的准确性,有的效率低下,有的甚至可能会引入新的错误。目前大部分的研究工作集中于数据的时效性、不一致性,精确性。李建中等人提出了一种时效性的判断方法,利用时效规则和算法有效的判断数据值是否处于最新状态[4]。针对数据的不一致性和精确性研究,学者们也提出了一些有效的方法,主要表现为:其一,基于数据依赖规则判断数据是否存在不一致性,其二是对于错误的数据提出相应的修复方法。
函数依赖是关系数据库中属性间的语义约束,是现实世界数据之间的关系在数据库中的抽象显示[5]。函数依赖只是数据依赖的其中一种依赖,其他还有包含依赖、多值依赖、连续依赖等数据依赖[11]。基于函数依赖进行修复的文献有很多,例如文献[68]中就提出对于大数据进行分布式大数据多函数依赖冲突检测,文献[9]提出了一种增量发现条件函数依赖的算法等,先前的学者对于函数依赖探究的十分透彻。对于数据的修复方式也是多种多样。在文献[2]提出了三种修复操作方式分别为插入元组,删除元组,修改元组属性值[18],但是该文献只是重点讲诉其中的一种修复操作方式并不全面。文献[10]则是以提升修复效率为目的,提出了在Hadoop平台并行清洗修复数据的方法。
1.2存在问题
目前先前学者的检测以及修复方式存在着一些问题,主要表现为:
1.先前学者依据函数依赖检测数据的不一致性时,往往通过类sql语句对数据集的数据不一致性进行查询。这种方式有着明显的缺点,仅能获得数据是否出错,但无法查找出数据出错的位置,给修复工作带来极大的困难。例如表1和表2的实例,当我们利用函数依赖关系(学号(成绩)查找错误的数据时,会发现当学号确定时,成绩的值并不唯一,因此成绩字段的值存在不一致性问题。然而,通过该方法我们并不能获取出现错误成绩所对应的具体学号或元组的位置,给修复工作带来极大的困难。
表11 学生成绩表
学号
姓名
性别
成绩
A10001
张三
男
67
B10002
李丽
女
97
A10003
王二
男
36
表12 学生成绩表
学号
姓名
性别
成绩
A10001
张三
男
67
B10002
李丽
女
57
B10004
花花
女
60
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/146.html