一种最小函数依赖的增量计算方法

文档序号:8381021阅读:525来源:国知局
一种最小函数依赖的增量计算方法
【技术领域】
[0001] 本发明涉及计算机数据处理领域,特别涉及一种最小函数依赖的增量计算方法。
【背景技术】
[0002] 随着信息化进程在各行各业的快速推进,海量、动态数据库的涌现使数据分析与 处理面临严峻考验。数据库是变化的,数据所反映的知识也是变化的,如何高效、动态地维 护数据挖掘所得知识是数据库领域的一个重要课题。近些年来,数据库完整性约束正被广 泛应用于数据分析与处理,以及检测不一致数据、提高数据质量等方面。
[0003] 目前,政府部门、企业等单位的信息系统及数据中心绝大部分以关系数据库管理 为核心,为了从中快速、准确地识别出错误、不一致等异常数据需要高效可行的技术与方法 支持,数据质量检测工具需求越来越大。从用途方面上考虑,数据质量检测方法适用于:业 务数据处理与统计、数据归档、数据仓库维护、数据清洗、数据集成或整合之中。为此,未来 几年在政府、事业、企业等单位的信息化建设过程中引入数据质量管理平台,建立各个层次 上数据质量检测系统,将成为必然趋势。错误、不一致等异常数据检测方法及相应的检测工 具具有很好的产业前景。
[0004] 函数依赖(Functional Dependency,缩写为FD)是关系数据库的重要约束之一, 不仅是数据库设计的基础,而且是数据质量监测、控制的依据。虽然函数依赖可以在数据库 管理系统作为数据约束定义,但许多情况下,在构建数据库时,没有明确定义函数依赖,或 者并非在构造数据库时能够明确制定,需要通过数据集挖掘或计算函数依赖,并且随着数 据库的变化还需要对它们进行维护,以保证检测异常数据的准确性。
[0005] 关于函数依赖集的计算算法已研宄多年,最具代表性的两种算法是按照层次 的算法(例如 Y. Huhtala, J. Karkk ainen 等在 1999 年公开的《TANE:An efficient algorithm for discovering functional and approximate dependencies〉〉)和深度优 先的算法(例如 C. M. Wyss, C. Giannella, E. L. Robertson 等在 2001 年公开的《FastFDs:A heuristic-driven, depth-first algorithm for mining functional dependencies from relation instances-extended for abstract》),随着数据库的变化,函数依赖也可能发生 变化,即原有的函数依赖不再成立、新的函数依赖产生。目前计算数据库变化后的函数依赖 及最小函数依赖的方式主要有两种:
[0006] (1)重新计算:针对变化后的数据库按照某一函数依赖计算方法重新计算函数依 赖,不利用数据集变化的部分(即增加的元组,删除的元组,修改的元组)、原来计算出的最 小函数依赖集及划分信息。
[0007] (2)增量计算:主要根据数据集变化的部分、原有的最小函数依赖集及划分信息, 增量检测原有的最小函数依赖是否成立,并计算新增的最小函数依赖。
[0008] 目前,针对动态变化的数据库,计算函数依赖集及最小函数依赖的算法均是采用 重新计算的方式,如TANE算法和FastFDs算法以及基于它们改进的算法。针对变化的数据 库,采用重新计算最小函数依赖方式,重复计算与变化前数据库相同的最小函数依赖,随着 数据库的增大,时间效率较低。在实际应用中,随着数据库的变化,大部分最小函数依赖仍 然不变或成立,因此,重新计算是没有必要的。
[0009] 所以,提出一种计算效率高、灵活性强、通过增量计算方式来计算最小函数依赖的 方法具有重要的应用价值。

【发明内容】

[0010] 本发明的目的在于克服现有技术的缺点与不足,提供一种最小函数依赖的增量计 算方法,该方法是采用增量计算的方式,从变化的关系数据集中计算最小函数依赖,计算效 率高,且计算结果准确。
[0011] 为了克服现有方法和技术的不足,本发明根据变化数据集、关系表变化前的最小 函数依赖集及划分信息,增量检测原有的最小函数依赖是否成立,并计算新增的最小函数 依赖。
[0012] 本发明技术方案所涉及的数学定义首先列举如下:
[0013] 函数依赖的定义:令R是一个关系模式,Xe R,Y e R,函数依赖X -Y成立的条 件是:对于模式为R的关系表r及r中任意两个元组&和12,以及所有B e X,如果tl [B] =t2[B],则 tjY] = t2[Y]。若Y e X,X -Y是平凡的。
[0014] 最小函数依赖的定义:令R是一个关系模式,XgR,Y e R,函数依赖x -γ成立, 若对于任意非空Z(=X,z - Y不成立,则X - Y是最小函数依赖。
[0015] 本发明仅研宄最小非平凡函数依赖的增量计算方法。下文提到的函数依赖均指非 平凡函数依赖、最小函数依赖均指最小非平凡函数依赖。
[0016] 等价类的定义:属性集X的某一等价类[t]x是指在给定关系表中,所有与元组t在 X上取值对应相等(简称与t在X上取值相等)的元组的集合。
[0017] 划分的定义:属性集X上的划分是在给定关系表r中,X的所有等价类的集合,记 为JT x,I JTxI表示在JTx中等价类的数目。
[0018] 判定函数依赖X - Y是否成立的方法:若I π x| = I π χ?{γ} I,则函数依赖X - Y成 立;否则,不成立。本发明按照该方法判定函数依赖是否成立。
[0019] 判定函数依赖X -Y是否为最小函数依赖的方法:函数依赖X -Y成立,且若对于 任意Zc=X,Z - Y不成立,则X - Y是最小函数依赖;否则不是最小函数依赖。本发明按照 该方法判定函数依赖是否是最小函数依赖。
[0020] 假设给定关系模式为R的关系表r,规定如下标识符:
[0021] Λ r :按给定的周期捕获到变化的增量元组集;
[0022] I R| :R中包括的属性个数;
[0023] rnew:变化后的新关系表;
[0024] Partitions :关系表r变化前的划分信息集;
[0025] Partitions_new :rnew的划分信息集;
[0026] FDs_old(r):关系表r变化前的最小非平凡函数依赖集;
[0027] FDs_new(rnew):关系表r变化后的最小非平凡函数依赖集。
[0028] 在基于上述数学定义基础上,下面来具体说明本发明一种最小函数依赖的增量计 算方法的具体技术方案。
[0029] 本发明一种最小函数依赖的增量计算方法,已知关系表变化前的最小非平凡函数 依赖集、增量元组集、变化前的关系表的划分信息集,首先根据增量元组集中所有元组的操 作类型及属性值,修改划分信息集中的划分信息,然后增量检测原有的每条最小非平凡函 数依赖在变化后的关系表中是否仍为最小非平凡函数依赖,如果是,则保留在最小非平凡 函数依赖集中;如果不是,则从最小非平凡函数依赖集中删除,并计算关系表变化后新增的 最小非平凡函数依赖。
[0030] 具体步骤如下:
[0031] (1)选择关系模式为R的初始关系表r进行操作,将增量元组记录到Λ r中,得到 变化后的新关系表rnOT;
[0032] (2)根据增量元组集Λ r中所有元组操作类型及属性值,修改Partitions中的划 分信息;
[0033] (3)初始时,令 FDs_new(rnew) = FDs_old(r);
[0034] (4)从Λ r中读取一条元组tp;
[0035] (5)根据元组tp的操作类型,进行最小函数依赖的增量计算,方法如下:
[0036] (5-1)如果tp是增加的元组,修改FDs_new(r new)的步骤如下:
[0037] (5-1-1)读取FDs_new(r
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1