In this paper, we study consistent query answering in tables with nulls and functional dependencies. Given such a table T, we consider the set Tuples of all tuples that can be built up from constants appearing in T, and we use set theoretic semantics for tuples and functional dependencies to characterize the tuples of Tuples in two orthogonal ways: first as true or false tuples, and then as consistent or inconsistent tuples. Queries are issued against T and evaluated in Tuples. In this setting, we consider a query Q: select X from T where Condition over T and define its consistent answer to be the set of tuples x in Tuples such that: x is a true and consistent tuple with schema X and there exists a true super-tuple t of x in Tuples satisfying the condition. We show that, depending on the status that the super-tuple t has in Tuples, there are different types of consistent answer to Q. The main contributions of the paper are: (a) a novel approach to consistent query answering not using table repairs; (b) polynomial algorithms for computing the sets of true-false tuples and the sets of consistent-inconsistent tuples of Tuples; (c) polynomial algorithms in the size of T for computing different types of consistent answer for both conjunctive and disjunctive queries; and (d) a detailed discussion of the differences between our approach and the approaches using table repairs.
翻译:本文研究含空值和函数依赖的表中的一致性查询应答问题。针对给定的此类表T,考虑由T中出现的常量可构建的所有元组构成的集合Tuples,并采用元组和函数依赖的集合论语义,从两个正交方向刻画Tuples中的元组:首先区分为真元组与假元组,其次区分为一致元组与不一致元组。查询针对T发起并在Tuples中求值。在此设定下,考虑查询Q: select X from T where Condition,将其一致性回答定义为Tuples中满足以下条件的元组x的集合:x是具有模式X的真且一致的元组,且存在x在Tuples中的真超元组t满足条件。研究表明,根据超元组t在Tuples中的状态差异,Q存在多种类型的一致性回答。本文主要贡献包括:(a) 提出不使用表修复的一致性查询应答新方法;(b) 给出计算Tuples中真假元组集合与一致不一致元组集合的多项式算法;(c) 针对合取查询和析取查询,提出在T规模多项式时间内计算不同类型一致性回答的算法;(d) 详细讨论本方法与使用表修复方法之间的差异。