Testing Termination of Query Satisfiability Checking on Expressive Database Schemas
Tipus de documentReport de recerca
Condicions d'accésAccés obert
A query is satisfiable if there is at least one consistent instance of the database in which it has a non-empty answer. Defining queries on a database schema and checking their satisfiability can help the database designer to be sure whether the produced database schema is what was intended. The formulation of such queries may easily require the use of some arithmetic comparisons or negated expressions. Unfortunately, checking the satisfiability of this class of queries on a database schema that most likely have some integrity constraints (e.g., keys, foreign keys, Boolean checks) is, in general, undecidable. However, although the problem is undecidable for such a class of schemas and queries, it may not be so for a particular query satisfiability check. In this paper, we propose to perform a termination test as a previous step to query satisfiability checking. If positive, the termination test guarantees that the corresponding query satisfiability check will terminate. We assume the CQC method is the underlying query satisfiability checking method; to the best of our knowledge, it is the only method of this kind able to deal with schemas and queries as expressive as the ones we consider.