We study the complexity of consistent query answering on databases that may violate primary key constraints. A repair of such a database is any consistent database that can be obtained… Click to show full abstract
We study the complexity of consistent query answering on databases that may violate primary key constraints. A repair of such a database is any consistent database that can be obtained by deleting a minimal set of tuples. For every Boolean query q , C E R T A I N T Y ( q ) is the problem that takes a database as input and asks whether q evaluates to true on every repair. In Koutris and Wijsen (ACM Trans. Database Syst. 42 (2), 9:1–9:45, 2017 ), the authors show that for every self-join-free Boolean conjunctive query q , the problem C E R T A I N T Y ( q ) is either in P or c o N P -complete, and it is decidable which of the two cases applies. In this article, we sharpen this result by showing that for every self-join-free Boolean conjunctive query q , the problem C E R T A I N T Y ( q ) is either expressible in symmetric stratified Datalog (with some aggregation operator) or c o N P -complete. Since symmetric stratified Datalog is in L , we thus obtain a complexity-theoretic dichotomy between L and c o N P -complete. Another new finding of practical importance is that C E R T A I N T Y ( q ) is on the logspace side of the dichotomy for queries q where all join conditions express foreign-to-primary key matches, which is undoubtedly the most common type of join condition.
               
Click one of the above tabs to view related content.