A database is called uncertain if two or more tuples of the same relation are allowed to agree on their primary key. Intuitively, such tuples act as alternatives for each other. A repair (or possible world) of such uncertain database is obtained by selecting a maximal number of tuples without ever selecting two tuples of the same relation that agree on their primary key. For a Boolean query q, the problem CERTAINTY(q) takes as input an uncertain database DB and asks whether q evaluates to true on every repair of DB. In recent years, the complexity of CERTAINTY(q) has been studied under different restrictions on q. These complexity studies have assumed no restrictions on the uncertain databases that are input to CERTAINTY(q). In practice, however, it may be known that these input databases are partially consistent, in the sense that they satisfy some dependencies (e.g., functional dependencies). In this article, we introduce the problem CERTAINTY(q) in the presence of a set S of dependencies. The problem CERTAINTY(q,S) takes as input an uncertain database DB that satisfies Σ, and asks whether every repair of DB satisfies q. We focus on the complexity of CERTAINTY(q,S) when q is an acyclic conjunctive query without self-join, and S is a set of functional dependencies and join dependencies, the latter of a particular form. We provide an algorithm that, given q and S, decides whether CERTAINTY(q,S) is first-order expressible. Moreover, we show how to effectively construct a first-order definition of CERTAINTY(q,S) if it exists.
Scheda prodotto non validato
Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo
|Titolo:||Certain Query Answering in Partially Consistent Databases|
|Data di pubblicazione:||2014|
|Appare nelle tipologie:||1.1 Articolo in rivista|