The invention discloses an important degree determination method for the consistency error of the database, which is used to solve the technical problem of the poor practicality of the existing methods. The technical scheme is first defined by C Graph and D Graph construction C relation table Graph and D Graph using the two kinds of hypergraph hypergraph, describe the dependencies between attributes of relational tables in the database depends on the relationship between relationship and attribute value; function classification table according to the given function depends on the constraint relationship between the dependence of the constraints are classified; find out the functional dependency violations and according to the classification given functional dependency violations on the relations between the functional dependencies between the violations are classified; the use of formula of function dependency violations benefit value; according to the function of the calculated dependence of functional dependency violations illegal benefit value importance ranking. The invention reduces the cost caused by the violation of a function dependence and other functions dependent on the violation, and has good practicability.
【技术实现步骤摘要】
数据库一致性错误的重要度判定方法
本专利技术属于计算机应用
,具体涉及一种数据库一致性错误的重要度判定方法。
技术介绍
文献"Onapproximatingoptimumrepairsforfunctionaldependencyviolations,DBLP,2009年53-62页"公开了一种通过最小化距离度量修复数据库中违反函数依赖的一致性错误的方法。该距离度量取决于数据库中修改元组的数量以及修改元组的权重,通过尽可能小的距离度量对数据库中的函数依赖进行值修复。该方法中对数据库的函数依赖修复主要考虑修改元组的数量以及修改元组的权重,并未考虑函数依赖之间的关系。函数依赖违规即违反函数依赖的情况,在实际中函数依赖违规之间不是相互独立的,其重要性也是不尽相同的。在数据库中,其中一些函数依赖违规比另一些更重要,一些函数依赖违规会引起另一些函数依赖违规。在修复数据库中函数依赖时,找出函数依赖违规之间的关系并且根据函数依赖违规的重要度对函数依赖进行修复,帮助用户找出函数依赖违规根本的原因,以更低的代价修复数据库中的函数依赖违规。
技术实现思路
为了克服现有方法实用性差的 ...
【技术保护点】
一种数据库一致性错误的重要度判定方法,其特征在于包括以下步骤:步骤一、对数据库中的关系表构建C‑Graph和D‑Graph超图;C‑Graph给出数据库D上的函数依赖集合Σ,C‑Graph GΣ=(V,E):Σi:Xi→Yi,
【技术特征摘要】
1.一种数据库一致性错误的重要度判定方法,其特征在于包括以下步骤:步骤一、对数据库中的关系表构建C-Graph和D-Graph超图;C-Graph给出数据库D上的函数依赖集合Σ,C-GraphGΣ=(V,E):Σi:Xi→Yi,U=X∪Y;对于Σ中的每一个Σi:Xi→Yi,有一个超边ei∈E,T(ei)=Xi且H(ei)=Yi;D-Graph:根据C-GraphGΣ和关系表R,GR=(V,E):t∈R,每一个节点Vi∈V被定义为Vi=(Ai,Fi),对于每一个属性Ai∈U的不同的值,都有一个在V中标为(Ai,Fi)的节点;给出C-Graph边EΣ={TΣ(E),HΣ(E)},会产生许多条D-Graph边,每一个D-Graph边Ei∈E被定义为Ei={T(Ei),H(Ei),Ω(Ei)},其中T(Ei).Ai=TΣ(E);H(Ei).Ai=HΣ(E),每一个包含所有和相关的元组的IDs,被定义为函数依赖X→Y意味着X的值相同则Y值也必须相同,根据X的值将关系表中的数据分为不同的等价类,每一个等价类中,所有成员有相同的X值,其Y值相同或者不同;在D-Graph中有两种超边,一种是只有一个头结点及|H(E)|=1,另一种则是有多个头结点及|H(E)|>1,分别为B-arc边和边;在D-Graph中,如果包含一个或者多个边,意味着至少一个函数依赖等价类的左属性映射到多个等价类的右属性;若图中只包含B-arc边,意味着每一个等价类的左属性仅映射一个等价类的右属性,因此没有函数依赖违规;所以函数依赖违规检查转变为在D-Graph中查找函数依赖违规修复问题转化为转换所有的边为B-arc边,其目标是对所有违反函数依赖的元组集合排序即对函数依赖违规进行排序,因此问题转换为对D-Graph中所有边进行排序;X、Y:为关系表中的属性,U=X∪Y;Σ:函数依赖集合;V:为超图中节点的集合;E:为超图中超边的集合;H(e):表示超边的头结点;T(e):表示超边的尾节点;t:为表R中的元组;Ai:是属性名且Ai∈U;Fi:是t[Ai]的一个值;步骤二、对不同函数依赖之间的关系进行分类;假设Σ集合为最小覆盖,Σi:X→Y和Σj:X'→Y',根据函数依赖最小覆盖的定义:若或者Σi和Σj之间关系分为四类:Σi和Σj中的属性表示如下:如果Σi和Σj共享约束左边的一些属性,表示如下:为如果约束的右边属性值相同,表示如下:为如果约束左边和右边都有共享属性,表示如下:为如果Σi和Σj中的属性满足以下:为为为如果Σi和Σj中的属性满足以下:为为为Σ:函数依赖集合名称;步骤三、找出关系表中的函数依赖违规并对不同函数依赖违规间的关系进行分类;假设当解决函数依赖违规问题时,仅修正函数依赖约束的右边属性的值;Σi和Σj之间的违规模式分为以下四类:在和中解决其中一个约束的违规将不会影响另一个约束的违规,定义为模式;在和中当修正约束的右边属性的值时,将影响所有共享属性所在函数依赖约束的右属性的值,定义为模式;在和中修改约束右属性的值将影响另一个约束中违规的左属性的值,定义为模式;在模式中分为以下几种情况:假设是边且边转变为B-arc影响假设是边且边转变为B-arc将自动使转变为B-arc边;假设是边且边转变为B-arc将自动使转变为B-arc边;假设是B-arc边且是边且转变边为B-arc将产生新的边假设是边且无论转变边为B-arc还是边转变为B-arc都会将新的边在模式中分为以下几种情况:表示边从v开始,表示边从v'开始,U=e.T(e)-{v},U'=e'.T(e')-{v'};对于每一对e和e',假设转变为会带来新的边;对于每一对e和e',假设U=U'∧H(e)=H(e')转变为会移动中的元组从B-arc边e'到另一条B-arc边e;对于每一对e和e',假设转变为会移动中的元组从边e'到另一条B-arc边e;对于每一对e和e',假设|H(e)|>1∧|H(e')|>1∧U=U',若转变为会移动中的元组从边e'到一条新边e;若转变为会移动中的元组从边e'到边e;对于每一对e和e',U≠U',转变为不影响另一条新边的形成;步骤四、函数依赖违规重要度评估,忽视所有的代价模型,修正函数依赖违规可能给数据库带来一些消极和积极的影响;一个函数依赖违规修正可以给关系表R质量的提高带来一些效益,所以根据每一个违规带来的潜在效益来评估其重要性;用函数...
【专利技术属性】
技术研发人员:刘海龙,成阿茹,李战怀,张国荣,张陶然,刘文洁,
申请(专利权)人:西北工业大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。