传统的数据库应用中,数据往往被假定是精确可用的,而实际中数据普遍存在不确定性.以往许多利用溯源信息追踪数据不确定性的方法往往关注元组或单一属性存在不确定性的情况,通过对元组添加唯一变量标识,用变量标识所表示的溯源信息构造布尔表达式计算结果元组概率.当元组中多个属性存在不确定性时,对元组进行标识不能帮助用户快速而准确地找到造成不确定性的源属性值.定义属性表达式,并通过属性表达式构造溯源表达式.利用该溯源表达式不仅可以准确地追溯不确定性产生的具体位置,同时还可以实现结果元组的概率计算.为保证概率计算结果的正确性,提出溯源表达式的转换算法.通过分析影响结果元组概率计算效率的因素,还提出构建共享路径表的方法,在构建过程中对原子析取式进行预计算,以提高概率计算的效率.实验部分将该方法与现有的元组级溯源信息表示方法在时间代价和空间代价方面进行比较,验证其可行性和有效性.此外,实验部分还对利用共享路径加快结果元组概率计算的有效性进行了评估.
In the traditional database applications, data is generally considered to be accurate and available. However, data uncertainty often occurs in the real world. Most of current methods usually use provenance information to track data uncertainty while placing focus on the uncertainty with tuple level rather than attribute level. Their main idea is to identify a tuple with a variable, and then construct Boolean expression based on provenance information to compute the probability of a tuple. For the tuple with lots of uncertain attributes, these methods can not help users rapidly and correctly identify the source of uncertainty. In this paper, attribute expressions are defined and used to construct the lineage expression for each result tuple. With the lineage expression, the new method can not only accurately traces the location where the uncertainty takes place, but also computes the probability of the result tuple. Meanwhile, the exchange algorithm of the lineage expression is proposed to guarantee the correctness of the probability computation. In order to improve the efficiency of the probability computation, a method is also provided to construct share paths, and compute the probability of atomic disjunctions during the period of constructing share paths. Experiments are performed to compare tuple level lineage expressions with the existing methods on both time and cost. The results show the feasibility and validity of the proposed method, and further verify the validity of utilizing share paths to speed up the probability computation.