Abstract
We present a wide-spectrum algebra and refinement calculus designed to allow one to reason about query optimization in graph-based data models.
A query language is wide-spectrum if it can be used to express both user level queries as well as low-level evaluation strategies or access plans. This property enables rule-based query optimization to be viewed as the process of refining expressions in such a language: “non-procedural” sub-expressions are gradually replaced by more “procedural” sub-expressions until an unambiguous access plan results. We begin by presenting an algebra that is wide-spectrum in this sense. One subset of operations within the algebra can be used to define the formal semantics of a non-procedural query language for graph-based data models. Another subset can express common data access paradigms such as an index scan, the “cut” operator in Prolog or the nested-iteration join processing strategy.
We then present a refinement calculus over the algebra which defines when one algebraic expression subsumes another. The calculus makes it possible to formally prove the correctness of rewrite rules used in rule-based query optimizers, and is sufficiently expressive to admit rules encoding many forms of semantic query optimization.
This research was supported in part by the Natural Sciences and Engineering Research Council of Canada, by Bell-Northern Research Ltd., and by ITRC: Information Technology Research Centre of Ontario.
Preview
Unable to display preview. Download preview PDF.
References
S. Abiteboul and P. C. Kanellakis. Object identity as a query language primitive. In Proc. ACM SIGMOD International Conference on Management of Data, pages 159–173, June 1989.
L. Becker and R. H. Guting. Rule-based optimization and query processing in an extensible geometric database system. ACM Transactions on Database Systems, 17(2):247–303, June 1992.
C. Beeri. Formal models for object-oriented databases. In Proc. 1st International Conference on Deductive and Object-Oriented Databases, Lecture Notes in Computer Science 566, pages 370–395, December 1989.
C. Beeri. A formal approach to object-oriented databases. Data and Knowledge Engineering, 5:353–382, 1990.
C. Beeri and Y. Kornatzky. Algebraic optimization of object-oriented query languages. In Proc. 3st International Conference on Database Theory, pages 72–88, December 1990.
A. J. Bonner and M. Kifer. Transaction logic programming. Preliminary Technical Report CSRI-270, Computer Systems Research Institute, University of Toronto, April 1992.
A. W. Brown, A. N. Earl, and J. A. McDermid. Software Engineering Environments: Automated Support for Software Engineering. McGraw-Hill, 1992.
S. Cluet, C. Delobel, C. Lécluse, and P. Richard. RELOOP, an algebra based query language for an object-oriented database system. In Proc. 1st Inter. Conf. in Deductive and Object-Oriented Databases, Lecture Notes in Computer Science 566, pages 294–313, December 1989.
U. Dayal. Queries and views in an object-oriented data model. In Proc. 2nd International Workshop on Database Programming Languages, pages 80–102, June 1989.
U. Dayal, N. Goodman, and R. H. Katz. An extended relational algebra with control over duplicate elimination. In Proc. ACM Symposium on Principles of Database Systems, pages 117–123, March 1982.
J. M. Duran and J. Visser. International standards for intelligent networks. IEEE Communications Magazine, pages 34–42, February 1992.
M. Gyssens, J. Paredaens, and D. Van Gucht. A graph-oriented object database model. In Proc. 9rd ACM Symposium on Priciples of Database Systems, pages 417–424, 1990.
R. H. Katz. Toward a unified framework for version modeling in engineering databases. ACM Computing Surveys, 22(4):375–408, December 1990.
M. Kifer and G. Lausen. F-Logic: a higher-order language for reasoning about objects, inheritance, and scheme. In Proc. ACM SIGMOD International Conference on Management of Data, pages 134–146, June 1989.
M. Machtey and P. Young. An Introduction to the General Theory of Algorithms. North-Holland, 1978.
A. Salomaa. Formal Languages. Academic Press, 1973.
G. M. Shaw and S. B. Zdonik. An object-oriented query algebra. In Proc. 2nd Int. Workshop on Database Programming Languages, pages 103–112, June 1989.
S. L. Vandenberg and D. J. DeWitt. Algebraic support for complex objects with arrays. In Proc. ACM SIGMOD International Conference on Management of Data, pages 158–167, June 1991.
A.Y.Z. Xu. On the expressiveness of a complex-object algebra for parsing sql queries. Master's thesis, Department of Computer Science, University of Waterloo, 1993.
M. Yannakakis and C. H. Papadimitriou. Algebraic dependencies. Journal of Computer and System Sciences, 25(1):2–41, August 1981.
H. Zeng. An interactive design tool for complex object access. Master's thesis, Department of Computer Science, University of Waterloo, 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Coburn, N., Weddell, G.E. (1993). A logic for rule-based query optimization in graph-based data models. In: Ceri, S., Tanaka, K., Tsur, S. (eds) Deductive and Object-Oriented Databases. DOOD 1993. Lecture Notes in Computer Science, vol 760. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57530-8_8
Download citation
DOI: https://doi.org/10.1007/3-540-57530-8_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57530-6
Online ISBN: 978-3-540-48212-3
eBook Packages: Springer Book Archive