Abstract
Existing object-oriented query notations have been criticised for being unclear, verbose, restrictive, and computationally weak. This paper introduces a new query notation, object comprehensions, that allows queries to be expressed clearly, concisely, and processed efficiently. Object comprehensions are designed for object-oriented databases and include features that are missing from or inadequate in existing object-oriented query languages. Novel features include: a predicate-based optimisable sub-language providing support for the class hierarchy; numerical quantifiers for dealing with occurrences of collection elements; operations addressing collection elements by position and order; a high-level support for interaction between different collection kinds; and recursive queries with computation.
Supported by the Overseas Research Award Scheme of the Committee of Chancellors and Vice-Principals of the Universities of the United Kingdom (ORS/8817021), the Glasgow University Postgraduate Scholarship, and ESPRIT Project 2071 Comandos.
Preview
Unable to display preview. Download preview PDF.
References
M. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, D. Maier, and S. Zdonik. The Object-Oriented Database System Manifesto. In Proceedings of the International Conference on Deductive and Object-Oriented Databases, pages 40–57. Elsevier, 1989.
R. Agrawal and L.G. DeMichiel. Type Derivation Using the Projection Operation. In Proceedings of the International Conference on Extending Database Technology. Springer-Verlag, 1994.
F. Bancilhon. Query Languages for Object-Oriented Database Systems: Analysis and a Proposal. In Proceedings of the GI Conference on Database Systems for Office, Engineering, and Scientific Applications, pages 1–18. Springer-Verlag, 1989.
E.J. Borowski and J.M. Borwein. Dictionary of Mathematics. Collins, 1989.
F. Bancilhon, C. Delobel, and P. Kanellakis, editors. Building An Object-Oriented Database System — The Story of O 2. Morgan Kaufmann, 1992.
D. Beech. A Foundation for Evolution from Relational to Object Databases. In Proceedings of the International Conference on Extending Database Technology, volume 303 of Lecture Notes in Computer Science, pages 251–270. Springer-Verlag, 1988.
O. Boucelma and J.L. Maitre. Querying Complex-Object Databases: the LIFOO Functional Language. Technical report, Université de Provence, France, 1989.
R.M. Burstall, D.B. MacQueen, and D.T. Sanella. Hope: an Experimental Applicative Language. In Proceedings of the 1st ACM Lisp Conference, pages 136–143. ACM Press, 1980.
E. Bertino, M. Nagri, G. Pelagatti, and L. Sbattella. Object-Oriented Query Languages: The Notion and the Issues. IEEE Transactions on Knowledge and Data Engineering, 4(3):223–237, June 1992.
J.A. Blakeley, C.W. Thompson, and A.M. Alashqur. OQL[X]: Extending a Programming Language X with a Query Capability. Technical Report 90-07-01, Texas Instruments Incorporated, U.S.A., November 1990.
M.J. Carey, D.J. DeWitt, and S.L. Vandenberg. A Data Model and Query Language for EXODUS. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 413–422. ACM Press, 1988.
D.K.C. Chan, D.J. Harper, and P.W. Trinder. A Reference Object-Oriented Data Model Specification. Technical Report DB-92-2, University of Glasgow, U.K., November 1992.
D.K.C. Chan, D.J. Harper, and P.W. Trinder. A Case Study of Object-Oriented Query Languages. In Proceedings of the International Conference on Information Systems and Management of Data, pages 63–86. Indian National Scientific Documentation Centre (INSDOC), 1993.
D.K.C. Chan and D.A. Kerr. Improving One's Views of Object-Oriented Databases. In Proceedings of the Colloquium on Object-Orientation in Databases and Software Engineering, 1994.
D.K.C. Chan and P.W. Trinder. An Object-Oriented Data Model Supporting Multi-methods, Multiple Inheritance, and Static Type Checking: A Specification in Z. In Proceedings of the 8th Z User Meeting, Workshops in Computing Series. Springer-Verlag, 1994.
D.K.C. Chan and P.W. Trinder. Optimising Object Comprehensions. In Prcoeedings of the 6th International Conference on Computing and Information. IEEE Press, 1994.
S. Dar, N.H. Gehani, and H.V. Jagadish. CQL++: A SQL for the ODE Object-Oriented DBMS. In Proceedings of the International Conference on Extending Database Technology, volume 580 of Lecture Notes in Computer Science, pages 201–216. Springer-Verlag, 1992.
K.R. Dittrich. Object-Oriented Database Systems: The Notion and the Issues. In On Object-Oriented Database Systems, pages 3–10. Springer-Verlag, 1991.
D.H. Fishman, J. Annevelink, E. Chow, T. Connors, J.W. Davis, W. Hasan, C.G. Hoch, W.Kent, S. Leichner, P. Lyngbaek, B. Mahbod, M.A. Neimat, T. risch, M.C. Shan, and W.K. Wilkinson. Overview of the Iris DBMS. In W. Kim and F.H. Lochovsky, editors, Object-Oriented Concepts, Databases, and Applications, pages 219–250. ACM Press, 1989.
G. Ghelli, R. Orsini, A. Pereira Paz, and P.W. Trinder. Design of an Integrated Query and Manipulation Notation for Database Languages. Technical Report FIDE/92/41, University of Glasgow, U.K., 1992.
K. Hammond. Definitional List Comprehensions. Technical Report 90/R3, University of Glasgow, U.K., January 1990.
A. Heuer and P. Sander. Classifying Object-Oriented Query Results in a Class/Type Lattice. In Proceedings of the 3rd Symposium on Mathematical Fundamentals of Database and Knowledge Base Systems, volume 495 of Lecture Notes in Computer Science, pages 14–28. Springer-Verlag, 1991.
A. Heuer and M.N. Scholl. Principles of Object-Oriented Query Languages. In Proceedings of the GI Conference on Database Systems for Office, Engineering, and Scientific Applications, pages 178–197. Springer-Verlag, 1991.
P. Hudak and P. Wadler. Report on the Functional Programming Language Haskell. Technical Report 89/R5, University of Glasgow, U.K., February 1990.
W. Kim. Introduction to Object-Oriented Databases. MIT Press, 1990.
M. Kifer, W. Kim, and Y. Sagiv. Querying Object-Oriented Databases. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 393–402. ACM Press, 1992.
R. Morrison, A.L. Brown, R.C.H. Connor, and A. Dearle. The Napier88 Reference Manual. Technical Report PPRR-77-89, University of Glasgow & University of St. Andrews, U.K., 1989.
M. Missikoff and M. Scholl. An Algorithm for Insertion into a Lattice: Application to Type Classification. In Proceedings of the 3rd International Conference on Foundations of Data Organisation and Algorithms, volume 367 of Lecture Notes in Computer Science, pages 64–82. Springer-Verlag, 1989.
Ontologic Inc., U.S.A. ONTOS Developer's Guide, 1991.
Ontologic Inc., U.S.A. ONTOS SQL Guide, 1991.
N.W. Paton and P.M.D. Gray. Optimising and Executing DAPLEX Queries using Prolog. The Computer Journal, 33(6):547–555, 1990.
S. Peyton-Jones. The Implementation of Functional Programming Languages, chapter 7, pages 127–138. Prentice-Hall, 1987.
Servio Logic Development Corporation, U.S.A. Programming in OPAL, Version 1.3, 1987.
C. Small and A. Poulovassilis. An Overview of PFL. In Proceedings of the International Workshop on Database Programming Languages, pages 89–103. Morgan Kaufmann, 1991.
P.W. Trinder, D.K.C. Chan, and D.J. Harper. Improving Comprehension Queries in PS-algol. In Proceedings of the 1990 Glasgow Database Workshop, pages 103–119, U.K., 1990. University of Glasgow.
P.W. Trinder. A Functional Database. D.Phil thesis, Oxford University, December 1989.
P.W. Trinder. Comprehensions: a Query Notation for DBPLs. In Proceedings of the 3rd International Workshop on Database Programming Languages, pages 55–70. Morgan Kaufmann, 1991.
D.A. Turner. Recursion Equations as a Programming Language. In Darlington, Henderson, and Turner, editors, Functional Programming and its Application. Cambridge University Press, 1981.
D.A. Turner. Miranda: a Non-strict Functional Language with Polymorphic Types. In Proceedings of the 2nd Conference on Functional Programming Languages and Computer Architectures, volume 201 of Lecture Notes in Computer Science, pages 1–16. Springer-Verlag, 1985.
P.W. Trinder and P.L. Wadler. Improving List Comprehensions Database Queries. In Proceedings of the TENCON'89, pages 186–192. IEEE Press, 1989.
R. Unland and G. Schlageter. Object-Oriented Database Systems: State of the Art and Research Problems. In K. Jeffery, editor, Expert Database Systems, chapter 5, pages 117–222. Academic Press, 1992.
D. Watt and P.W. Trinder. Towards a Theory of Bulk Types. Technical Report FIDE/91/26, University of Glasgow, U.K., July 1991.
S.B. Zdonik and D. Maier, editors. Readings in Object-Oriented Database Systems. Morgan Kaufmann, 1990.
S.B. Zdonik and G. Mitchell. ENCORE: An Object-Oriented Database Systems. IEEE Data Engineering Bulletin, 14(2):53–57, June 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chan, D.K.C., Trinder, P.W. (1994). Object comprehensions: A query notation for object-oriented databases. In: Bowers, D.S. (eds) Directions in Databases. BNCOD 1994. Lecture Notes in Computer Science, vol 826. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58235-5_35
Download citation
DOI: https://doi.org/10.1007/3-540-58235-5_35
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58235-9
Online ISBN: 978-3-540-48580-3
eBook Packages: Springer Book Archive