Minimization in Cooperative Response to Failing Database Queries

Thumbnail Image

Files (408.69 KB)
No. of downloads: 197
CS-TR-3348.pdf (399.94 KB)
No. of downloads: 882

Publication or External Link







When a query fails, it is more cooperative to identify the cause of failure, rather than just to report the empty answer set. If there is not a cause for the query's failure, it is worthwhile to report the part of the query which failed. To identify a minimal failing subquery (MFS) of the query is the best way to do this. (This MFS is not unique; there may be many of them.) Likewise, to identify a maximal succeeding subquery (MSS) can help a user to recast a new query that leads to a non-empty answer set.

Database systems do not provide the functionality of these types
of cooperative responses.  This may be, in part, because
algorithmic approaches to finding the MFSs and the MSSs to a
failing query are not obvious.  The search space of subqueries is
large.  Despite work on MFSs in the past, the algorithmic
complexity of these identification problems had remained

This paper shows the complexity profile of MFS and MSS
identification.  It is shown that there exists a simple algorithm
for finding a MFS or a MSS by asking N subsequent queries, in
which N is the length of the query.  To find more MFSs (or MSSs)
can be hard.  It is shown that to find on the order of N MFSs (or
MSSs) is NP-hard.  To find K MFSs (or MSSs), for a fixed K,
remains polynomial.

An optimal algorithm for enumerating MFSs and MSSs, ISHMAEL, is
developed and presented.  The algorithm has ideal performance in
enumeration, finding the first answers quickly, and decaying
toward intractability in a predictable manner as more answers are

The complexity results and the algorithmic approaches given in
this paper should allow for the construction of MFS and MSS
facilities for database systems.  These results are relevant to a
number of problems outside of databases too, and may find further

(Also cross-referenced as UMIACS-TR-94-108)