Covers of Query Results
We introduce succinct lossless representations of query results called covers that are subsets of these results, yet allow for constant-delay enumeration of all result tuples. We first study covers whose structures are given by hypertree decompositions of join queries. For any join query, we give asymptotically tight size bounds for the covers of the query results and show that such covers can be computed in worst-case optimal time (up to a logarithmic factor in the database size). For acyclic join queries, we can compute covers compositionally from covers for subqueries using plans with a new operator called cover-join. We then generalise covers from join queries to functional aggregate queries, which express a host of computational problems, e.g., evaluation of queries with joins and aggregates, in-database optimization, matrix chain multiplication, and inference in probabilistic graphical models.
READ FULL TEXT