Abstract
In a first part, this paper reviews rule languages that have been proposed for relational and object-oriented database management systems (OODBMSs). Relational languages based on extensions of Datalog are analyzed. Then, we concentrate on rule languages for OODBMSs. We focus on the ROL rule language, a rule language that we propose to handle persistent C++ databases. In a second part of the paper, optimization techniques for object-oriented rule language compilers are summarized. Possible transformations of algebraic trees include operation permutation, fixpoint reduction, integrity constraint addition, predicate simplification and method call optimization. Some of them are exemplified using ROL as a language to optimize itself. In case of recursive updates, additional memory-based nets are useful to accelerate query evaluation. Possible choices are Rete, Treat or Cosma networks. We discuss and compare these types of accelerators. The search strategy component is in charge of determining the best choice in the solution space of all evaluation approaches and access plans. Finally, we conclude by discussing engineering techniques to develop an integrated optimizer.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gardarin, G. (1994). Object-Oriented Rule Languages and Optimization Techniques. In: Dogac, A., Özsu, M.T., Biliris, A., Sellis, T. (eds) Advances in Object-Oriented Database Systems. NATO ASI Series, vol 130. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-57939-4_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-57939-4_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-63410-9
Online ISBN: 978-3-642-57939-4
eBook Packages: Springer Book Archive