Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

An implementation technique for database query languages

Published: 01 June 1982 Publication History

Abstract

Structured query languages, such as those available for relational databases, are becoming increasingly desirable for all database management systems. Such languages are applicative: there is no need for an assignment or update statement. A new technique is described that allows for the implementation of applicative query languages against most commonly used database systems. The technique involves “lazy” evaluation and has a number of advantages over existing methods: it allows queries and functions of arbitrary complexity to be constructed; it reduces the use of secondary storage; it provides a simple control structure through which interfaces to other programs may be constructed; and the implementation, including the database interface, is quite compact. Although the technique is presented for a specific functional programming system and for a CODASYL DBMS, it is general and may be used for other query languages and database systems.

References

[1]
BACKUS, J. Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. Commun. ACM 21, 8 (August 1978), 613-641.
[2]
BUNEMAN, O.P., AND FRANKEL, R.E. FQL--A functional query language. In Proc. A CM SIG- MOD, Int. Conf. Management of Data, Boston, May 30-June 1, ACM, New York, 1979, pp. 52-57.
[3]
BURGE, W.H. Recursive Programming Techniques. Addison-Wesley, Reading, Mass., 1975.
[4]
BURSTALL, I:{.M., COLLINS, J.S., AND POPPLESTONE, R.J. Programming in POP-2, Edinburgh University Press, Edinburgh, Scotland, 1971.
[5]
CHAMBERLIN, D.D., AND BOYCE, R.F. SEQUEL: A structured }~nglish query language. In Proc. ACM SIGMOD, Workshop on Data Description, Access, and Control, May 1-3, ACM, New York, 1974, 249-264.
[6]
DATE, C.J. An Introduction to Database Systems. Addison-Wesley, Reading, Mass., 1975.
[7]
DATA BASE TASK GROUP. April 1971 Report, ACM, New York, 1971.
[8]
FRANKEL, R.E. FQL--The design and implementation of a functional query language. M.S. thesis. Moore School, University of Pennsylvania, May 1979.
[9]
FRIEDMAN, D.P., AND WISE, D.S. CONS should not evaluate its arguments. In Automata, Languages, and Programming. Edinburgh University Press, Edinburgh, Scotland, 1976.
[10]
GERRITSEN, R. Seed Reference Manual. International Database Systems, Philadelphia, Pa., 1978.
[11]
HAMMER, M., AND McL~.oD, D.J. The semantic data model: A modeling mechanism for database applications. In Proc. ACM SIGMOD, Int. Conf. Management of Data, Austin, Tex., May 31- June 2, ACM, New York, 1978, pp. 26-35.
[12]
Harvest User Manual. International Database Systems, Philadelphia, Pa., 1979.
[13]
HELD, G., STONEBRAKER, M., AND WONG, E. INGRES: A relational database system. In Proc. AFIPS 1975 Nat. Computer Conf., Vol. 44. AFIPS Press, Arlington, Va., 1975.
[14]
HENDERSON, P., AND MORRIS, J.H., JR. A Lazy Evaluator. In 3rd ACM Syrup. Principles of Programming Languages, Atlanta, Ga., Jan. 19-21, ACM, New York, 1976, pp. 95-103.
[15]
IVERSON, K.E. Operators. ACM Trans. on Programming Languages and Syst. 1, 2 (October 1979), 161-t76.
[16]
LANDIN, P.J. A correspondence between ALGOL 60 and Church's lambda-notation: Part I. Commun. ACM 8, 2(February 1965) 89-101.
[17]
LANDIN, P.J. A correspondence between ALGOL 60 and Church's lambda-notation: Part II. Commun. ACM 8, 3 (March 1965), 158-165.
[18]
MCCARTHY, J., ABRAHAMS, P.W., EDWARDS, D.J., HART, T.P. AND LEVIN, M.I. LISP 1.5 Programmer's Manual. MIT Press, Cambridge, Mass., 1962.
[19]
MXLNER, R. A theory of type polymorphism in programming. J. Comput. Syst. Sci., 17 (1978), 348-375.
[20]
SHIPMAN, D.W. The functional data model and the data language DAPLEX. ACM Trans. Database Syst. 6, 1 (March 1981), 140-173.
[21]
SMITH, J.M., AND CHANG, P.Y.T. Optimizing the performance of a relational algebra database interface. Commun. ACM 18, 10, (October 1975) 568-579.
[22]
SMITH, J.M., AND SMITH, D.C.P. Database abstractions: Aggregation and generalization. ACM Trans. Database Syst. 2, 2 (June 1977) 105-133.
[23]
TURNER, D.A. A new implementation technique for applicative languages. Softw. Pract. Exper. 9 (1979), 31-49.
[24]
ULLMAN, J.D. Principles of Database Systems. Computer Science Press, Potomac, Md., 1980.
[25]
WIRTH, N. The programming language Pascal. Acta inf 1, 1(1971), 35-63.

Cited By

View all
  • (2014)Lazy evaluation of transactions in database systemsProceedings of the 2014 ACM SIGMOD International Conference on Management of Data10.1145/2588555.2610529(15-26)Online publication date: 18-Jun-2014
  • (2013)Well-Defined NRC Queries Can Be TypedIn Search of Elegance in the Theory and Practice of Computation10.1007/978-3-642-41660-6_27(494-506)Online publication date: 2013
  • (2011)StenoProceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1993498.1993513(121-131)Online publication date: 4-Jun-2011
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Database Systems
ACM Transactions on Database Systems  Volume 7, Issue 2
June 1982
191 pages
ISSN:0362-5915
EISSN:1557-4644
DOI:10.1145/319702
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 1982
Published in TODS Volume 7, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. applicative programing
  2. coroutines
  3. database interfaces
  4. lazy evaluation

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)107
  • Downloads (Last 6 weeks)20
Reflects downloads up to 26 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2014)Lazy evaluation of transactions in database systemsProceedings of the 2014 ACM SIGMOD International Conference on Management of Data10.1145/2588555.2610529(15-26)Online publication date: 18-Jun-2014
  • (2013)Well-Defined NRC Queries Can Be TypedIn Search of Elegance in the Theory and Practice of Computation10.1007/978-3-642-41660-6_27(494-506)Online publication date: 2013
  • (2011)StenoProceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1993498.1993513(121-131)Online publication date: 4-Jun-2011
  • (2011)StenoACM SIGPLAN Notices10.1145/1993316.199351346:6(121-131)Online publication date: 4-Jun-2011
  • (2010)Database ManagementSecure Semantic Service-Oriented Systems10.1201/b10441-34(349-381)Online publication date: 15-Dec-2010
  • (2010)Generic multiset programming for language-integrated queryingProceedings of the 6th ACM SIGPLAN workshop on Generic programming10.1145/1863495.1863503(49-60)Online publication date: 26-Sep-2010
  • (2010)Optimizing relational algebra operations using generic equivalence discriminators and lazy productsProceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation10.1145/1706356.1706372(73-82)Online publication date: 19-Jan-2010
  • (2010)Generic multiset programming with discrimination-based joins and symbolic Cartesian productsHigher-Order and Symbolic Computation10.1007/s10990-011-9078-823:3(337-370)Online publication date: 1-Sep-2010
  • (2009)Historical DevelopmentsDatabase and Applications Security10.1201/9780203486061.pt3Online publication date: 3-Dec-2009
  • (2009)Information Management TechnologiesDatabase and Applications Security10.1201/9780203486061.ch4Online publication date: 3-Dec-2009
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media