Abstract
We determine when a join/outerjoin query can be expressed unambiguously as a query graph, without an explicit specification of the order of evaluation. To do so, we first characterize the set of expression trees that implement a given join/outerjoin query graph, and investigate the existence of transformations among the various trees. Our main theorem is that a join/outerjoin query is freely reorderable if the query graph derived from it falls within a particular class, every tree that “implements” such a graph evaluates to the same result. The result has applications to language design and query optimization. Languages that generate queries within such a class do not require the user to indicate priority among join operations, and hence may present a simplified syntax. And it is unnecessary to add extensive analyses to a conventional query optimizer in order to generate legal reorderings for a freely-reorderable language. © 1990, ACM. All rights reserved.
Cite
CITATION STYLE
Rosenthal, A., & Galindo-Legaria, C. (1990). Query Graphs, Implementing Trees, and Freely-Reorderable Outerjoins. ACM SIGMOD Record, 19(2), 291–299. https://doi.org/10.1145/93605.98738
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.