I&C 2025
Consistent query answering in multi-relation databases
Abstract
Traditionally, to verify the consistency of a multi-relation database with respect to a set of functional dependencies, one applies the well-known Chase algorithm, which derives new tuples as long as no conflict with some dependency arises. Therefore, the Chase algorithm uses dependencies both as inference rules and as tools to check consistency. If no conflicts occur, the database is declared consistent else inconsistent. If the database is consistent then query answering proceeds as usual, otherwise extracting consistent information from the inconsistent database is an issue, known as consistent query answering. To address this issue, we consider the set T of all tuples built from constants occurring in the database, and we use set theoretic semantics to characterize tuples in T in two orthogonal ways: true/false and conflicting/non-conflicting. Calling ‘consistent’ a tuple which is true and non-conflicting, a ‘repair’ is defined to be a maximal subset of true tuples that satisfies the dependencies and in which as many consitent tuples as possible are true. A query Q is of the form select X where C o n d i t i o n, and a tuple x of T is in the consistent answer of Q if x is in the answer of Q in every repair. Our main contributions are: (a) a novel approach to consistent query answering in multi-relation databases; (b) a modified Chase algorithm to compute true/false and conflicting/non-conflicting tuples; (c) for acyclic functional dependencies, a polynomial-time algorithm computing the exact or approximate consistent answers; (d) a detailed discussion comparing our approach with other related approaches.
Authors
Keywords
Context
- Venue
- Information and Computation
- Archive span
- 1987-2026
- Indexed papers
- 3021
- Paper id
- 329386598299125957