Queries with Guarded Negation Vince Bar´ any´ Balder ten Cate Martin Otto TU Darmstadt, Germany UC Santa Cruz, CA, USA TU Darmstadt, Germany
[email protected] [email protected] [email protected] ABSTRACT a single record in the database. For instance, if a A well-established and fundamental insight in database the- database schema contains relations Author(AuthID,Name) ory is that negation (also known as complementation) tends and Book(AuthID,Title,Year,Publisher), the query that to make queries difficult to process and difficult to reason asks for authors that did not publish any book with Elsevier about. Many basic problems are decidable and admit prac- since “not publishing a book with Elsevier” is a property tical algorithms in the case of unions of conjunctive queries, of an author. The query that asks for pairs of authors and but become difficult or even undecidable when queries are book titles where the author did not publish the book, on the allowed to contain negation. Inspired by recent results in fi- other hand, is not allowed, since it involves a negative con- nite model theory, we consider a restricted form of negation, dition (in this case, an inequality) pertaining to two values guarded negation. We introduce a fragment of SQL, called that do not necessarily co-occur in a record in the database. GN-SQL, as well as a fragment of Datalog with stratified The requirement of guarded negation can be formally stated negation, called GN-Datalog, that allow only guarded nega- most easily in terms of the Relational Algebra: we allow the tion, and we show that these query languages are compu- use of the difference operator E1 − E2 provided that E1 is a tationally well behaved, in terms of testing query contain- projection of a relation from the database.