Provenance for aggregate queries
Proceedings of the 30th symposium on Principles of database systems of data - PODS '11
We study in this paper provenance information for queries with aggregation. Provenance information was studied in the context of various query languages that do not allow for aggregation, and recent work has suggested to capture provenance by annotating the different database tuples with elements of a commutative semiring and propagating the annotations through query evaluation. We show that aggregate queries pose novel challenges rendering this approach inapplicable. Consequently, we propose a
... ently, we propose a new approach, where we annotate with provenance information not just tuples but also the individual values within tuples, using provenance to describe the values computation. We realize this approach in a concrete construction, first for "simple" queries where the aggregation operator is the last one applied, and then for arbitrary (positive) relational algebra queries with aggregation; the latter queries are shown to be more challenging in this context. Finally, we use aggregation to encode queries with difference, and study the semantics obtained for such queries on provenance annotated databases. General Terms Algorithms, Theory Proposition 4.3. If K and M are such that K ⊗ M and M are isomorphic via ι then K M = K. The proof is by induction on the structure of elements in K M , showing that at each step we can "solve" an equality sub-expression, and replace it with 0 K or 1 K .