Advertisement

The implementation of a deductive query language over an OODB

  • Andrew Dinn
  • Norman W. Paton
  • M. Howard Williams
  • Alvaro A. A. Fernandes
  • Maria L. Barja
Implementation
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1013)

Abstract

The ROCK & ROLL database system cleanly integrates deductive and object-oriented capabilities by defining an imperative programming language, ROCK, and a declarative, deductive language, ROLL, over a common object-oriented (OO) data model. Existing techniques for evaluation and optimization of deductive languages fail to address key requirements imposed by ROLL such as: strict typing; placement of deductive methods (predicates) within classes; encapsulation; overriding and late binding. This paper describes the task of implementing an evaluator and optimizer for ROLL, explaining how existing implementation techniques for deductive languages were adapted to meet these requirements and extended to support novel types of optimization.

Keywords

Goal Node Query Optimization Tree Section Method Invocation Implicit Relation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    F. Bancilhon and R. Ramakrishnan. An Amateur's Introduction to Recursive Query Processing Strategies. In SIGMOD, 1986.Google Scholar
  2. 2.
    M. Barja, N. Paton, A. A. A. Fernandes, M. H. Williams, and A. Dinn. An Effective DOOD Through Language Integration. In VLDB, 1994.Google Scholar
  3. 3.
    C. Beeri and S. Naqvi. Sets and Negation in a Logic Database Language (LDL1). In PODS, 1987.Google Scholar
  4. 4.
    C. Beeri and R. Ramakrishnan. On the power of magic. In PODS, 1987.Google Scholar
  5. 5.
    M. Carey and D. DeWitt. The EXODUS Extensible DBMS Project: An Overview. In S. Zdonik and D. Maier, editors, Readings in Object-Oriented Databases, 1990.Google Scholar
  6. 6.
    S. Ceri, G. Gottlob, and L. Tanca. Logic Programming and Databases. 1990.Google Scholar
  7. 7.
    S. Ceri and L. Tanca. Optimization of systems of algebraic equations for evaluating Datalog queries. In VLDB, 1987.Google Scholar
  8. 8.
    S. Dietrich. Extension Tables: Memo Relations In Logic Programming. In IEEE Symposium on Logic Programming, 1987.Google Scholar
  9. 9.
    G. Dobbie and R. Topor. A Model for Sets and Multiple Inheritance in deductive Object-Oriented Systems. In DOOD, 1993.Google Scholar
  10. 10.
    R. Helm. Detecting and Eliminating Redundant Derivations in Logic Knowledge Bases. In DOOD, 1989.Google Scholar
  11. 11.
    M. Kifer and E. Lozinskii. On Compile-Time Query Optimization In Deductive Databases By Means Of Static Filtering. ACM TODS, 15(3), 1990.Google Scholar
  12. 12.
    W. Kim. A Model Of Queries For Object-Oriented Databases. In VLDB, 1989.Google Scholar
  13. 13.
    A. Lefebvre and L. Vieille. On Deductive Query Evaluation in the DedGin* System. In DOOD, 1989.Google Scholar
  14. 14.
    A. Levy, I. Mumick, and Y. Sagiv. Query Optimization by Predicate Move-Around. In VLDB, 1994.Google Scholar
  15. 15.
    C. C. Low, H. Lu, and B. C. Ooi. Efficient Access Methods in Deductive and Object-Oriented Databases. In DOOD, 1991.Google Scholar
  16. 16.
    N. Paton and A. Abdelmoty. An Object Store for the DOOD Object Model, 1993.Google Scholar
  17. 17.
    R. Lanzelotte and P. Valduriez and M. Zaït. Optimization of Object-Oriented Recursive Queries Using Cost Controlled Strategies. In SIGMOD, 1992.Google Scholar
  18. 18.
    R. Ramakrishnan. Magic templates, a spellbinding approach to logic evaluation. In ICLP, 1988.Google Scholar
  19. 19.
    J. Richardson, M. Carey, and D. Schuh. The Design of the E Programming Language. ACM TOPLAS, 15(3), 1993.Google Scholar
  20. 20.
    G. Shaw and S. Zdonik. Object-Oriented Queries: Equivalence and Optimization. In DOOD, 1989.Google Scholar
  21. 21.
    D. Straube and T. Öszu. Execution Plan Generation for Database Programming Languages. In DOOD, 1991.Google Scholar
  22. 22.
    J. Ullman. Principles of Database and Knowledge Based Systems. 1988.Google Scholar
  23. 23.
    J. Ullman. Bottom-up beats top-down for Datalog. In PODS, 1989.Google Scholar
  24. 24.
    P. Valduriez and S. Danforth. Query optimization for Database Programming Languages. In DOOD, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Andrew Dinn
    • 1
  • Norman W. Paton
    • 2
  • M. Howard Williams
    • 1
  • Alvaro A. A. Fernandes
    • 1
  • Maria L. Barja
    • 1
  1. 1.Department of Computing and Electrical EngineeringHeriot-Watt UniversityEdinburghScotland
  2. 2.Department of Computer ScienceManchester UniversityManchesterEngland

Personalised recommendations