A tuple t
1 of relation R subsumes tuple t
2 of R, with respect to a query Q if for every database, tuple t
1 derives all, and possibly more, answers to query Q than derived by tuple t
2. Therefore, the subsumed tuple t
2 can be ignored with respect to Q in the presence of tuple t
1 in relation R. This property finds use in a large number of problems. For instance: during query optimization subsumed tuples can be ignored thereby avoiding the computation of redundant answers; the size of cached information in distributed and object oriented systems can be reduced by omitting subsumed tuples; constraints need not be checked and rules need not be recomputed when provably subsumed updates are made. We give algorithms for deciding efficiently when a tuple subsumes another tuple for queries that use arbitrary mathematical functions. We characterize queries for which, whenever a set of tuples T subsumes a tuple t then one of the tuples in T also subsumed t, yielding efficiently verifiable cases of subsumption.
We would like to thank Anand Rajaraman, Jeff Ullman, and Jennifer Widom for valuable comments and feedback on the ideas presented in this paper. The authors' research was supported by NSF grants IRI-91-16646 and IRI-92-23405, by ARO grant DAAL03-91-G-0177, and by Air Force Grant F33615-93-1-1339.