skip to main content
article
Free Access

Types and persistence in database programming languages

Published:01 June 1987Publication History
Skip Abstract Section

Abstract

Traditionally, the interface between a programming language and a database has either been through a set of relatively low-level subroutine calls, or it has required some form of embedding of one language in another. Recently, the necessity of integrating database and programming language techniques has received some long-overdue recognition. In response, a number of attempts have been made to construct programming languages with completely integrated database management systems. These languages, which we term database programming languages, are the subject of this review.

The design of these languages is still in its infancy, and the purpose of writing this review is to identify the areas in which further research is required. In particular, we focus on the problems of providing a uniform type system and mechanisms for data to persist. Of particular importance in solving these problems are issues of polymorphism, type inheritance, object identity, and the choice of structures to represent sets of similar values. Our conclusion is that there are areas of programming language research—modules, polymorphism, persistence, and inheritance—that must be developed and applied to achieve the goal of a useful and consistent database programming language. Other research areas of equal importance, such as implementation, transaction handling, and concurrency, are not examined here in any detail.

References

  1. AHO, A. V., AND ULLMAN, J. D. 1979. Universality of data retrieval languages, in Proceedings of the 6th A CM Symposium on Principles o{ Programruing Languages. ACM, New York, pp. 110-120.]] Google ScholarGoogle Scholar
  2. AIT-KACI, H., AND NASR, R. 1985. Login: A logic programming language with built in inheritance. In Proceedings o{ the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland.]]Google ScholarGoogle Scholar
  3. ALBANO, A., CARDELLI, L., AND ORSINI, R. 1983. Galileo: A strongly typed, interactive conceptual language. Tech. Rep. Internal Technical Document Services, AT&T Bell Laboratories, Murray Hill, N.J.]]Google ScholarGoogle Scholar
  4. ALBANO, A., CARDELLI, L., AND ORSINI, R. 1985a. Galileo: A strongly typed interactive conceptual language. A CM Trans. Database Syst. 10, 2 (June), 230-260.]] Google ScholarGoogle Scholar
  5. ALBANO, A., GHELLI, G., AND ORSINi, R. 1985b. The implementation of Galileo's persistent values. In Proceedings o{ the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 197-208.]] Google ScholarGoogle Scholar
  6. ALBANO, A., OCCHIUTO, M. E., AND ORSINI, R. 1985c. Galileo Reference Manual, Vax/Unix version 1.0. Tech. Rep., Diparimento di informatica, Univ. di Pisa, Pisa, Italy.]]Google ScholarGoogle Scholar
  7. ALBANO, A., GIANNOTTI, F., ORSINI, R., AND PEDRESCHI, D. 1985. The type system of Gallleo. In Proceedings o{ the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 175-195.]] Google ScholarGoogle Scholar
  8. AMBLE, T., BRATBERGSENGEN, K., AND RISNES, O. 1979. ASTRAL: A structured and unified approach to database design and manipulation. In Proceedings o{ the Database Architecture Con{erence (Venice, italy, June).]]Google ScholarGoogle Scholar
  9. ASTRAHAN, M. M., BLASGEN, M. W., CHAMBERLIN, D. D., ESWARAN, K. P., GRAY, J. N., GRIFFITHS, P. P., KIND, W. F., LORIE, R. A., MCJONES, P. R., MEHL, J. W., PUTZOLU, G. R., TRAIGER, I. L., WADE, B. W., AND WATSON, V. 1976. System R: Relational approach to database management. ACM Trans. Database Syst. 1, 2 (June), 97-137.]] Google ScholarGoogle Scholar
  10. ATKINSON, M. P. 1978. Programming languages and databases. In The 4th International Conference on Very Large Data Bases, S. B. Yao, Ed. (Berlin, West Germany, Sept.). IEEE & ACM, New York, pp. 408-419.]]Google ScholarGoogle Scholar
  11. ATKINSON, M. P., AND MORI~SON, R. 1984. First class persistent procedures are enough. In Proceedings of the 4th Con{erence on the Foundations of Theoretical Computer Science and Software Technology (Bangalore, India). Springer-Verlag, Berlin, pp. 223-240.]] Google ScholarGoogle Scholar
  12. ATKINSON, M. P., AND MORmSON, R. 1985a. First class persistent procedures. A CM Trans. Program. Lang. Syst. 7, 4 (Oct.), 501-538.]]Google ScholarGoogle Scholar
  13. ATKINSON, M. P., AND MORRISON, R. 1985b. Types, bindings and parameters in a persistent environment. In Proceedings of the Appin Workshop on Data Types and Persistence, Research Report 16, M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 1-24.]] Google ScholarGoogle Scholar
  14. ATKINSON, M. P., AND MORRISON, R. 1986. Towards an integrated persistent graphical programming language. In Proceedings o{ the 18th Hawaii International Con{erence on Systems Sciences, vol. 2 (Jan.). Western Periodicals, North Hollywood, Calif., pp. 842-854.]]Google ScholarGoogle Scholar
  15. ATKINSON, M. P., CHISHOLM, K. g., AND COCKSHOTT, W. P. 1981. PS-algoh An Algol with a persistent heap. SIGPLAN Not. (ACM) 17, 7 (July), 24-31. Also available as Tech. Rep. CSR-94-81, Computer Science Dept., Edinburgh Univ., Edinburgh, Scotland.]] Google ScholarGoogle Scholar
  16. ATKINSON, M. P., CHISHOLM, K. J., COCKSHOTT, W. P., AND MARSHALL., R. M. 1983a. Algorithms for a persistent heap. So{tw. Pract. Exper. 13, 7 (Mar.).]]Google ScholarGoogle Scholar
  17. ATKINSON, M. P., BAILEY, P. J., CHISHOLM, K. J., COCKSHOTr, W. P., AND MORRISON, R. 1983b. An approach to persistent programming. Comput. J. 26, 4 (Nov.).]]Google ScholarGoogle Scholar
  18. ATKINSON, M. P., BAILEY, P., COCKSHOTT, W. P., CHISHOLM, K. g., AND MORRISON, R. 1984. Progress with Persistent Programming. Cambridge University Press, Cambridge, England.]]Google ScholarGoogle Scholar
  19. ATKINSON, M. P., MORRISON, R., AND PRATTEN, G. D. 1986. Designing a persistent information space architecture. In Proceedings, H. J. Kugler, Ed. IFIP, Dublin, Sept., pp. 115-119.]]Google ScholarGoogle Scholar
  20. BACKUS, J. 1978. Can programming be liberated from the yon Neumann style? A functional style and its algebra of programs. Commun. ACM 21, 8 (Aug.), 613-641.]] Google ScholarGoogle Scholar
  21. BALZER, R. M. 1986. Living in the next generation operating system. In In{ormation Processing 86. Elsevier North-Holland, New York.]]Google ScholarGoogle Scholar
  22. BANCILHON, F., AND RAMAKRISHNAN, R. 1986. An amateur's introduction to recursive query processing strategies. In Proceedings, ACM SIGMOD, (Washington, D.C., May). ACM, New York, pp. 166-176.]] Google ScholarGoogle Scholar
  23. BEVER, M., AND LOCKEMANN, P. C. 1985. Database hosting in strongly typed language. ACM Trans. Database Syst. 10, 1 (Mar.), 107-126.]] Google ScholarGoogle Scholar
  24. BORGIDA, A. 1983. Features of Languages for Conceptual Information System Development. Tech. Rep. Dept. of Computer Science, Hill Center, Rutgers Univ., New Brunswick, N.J.]]Google ScholarGoogle Scholar
  25. BORGIDA, A. 1985a. Accommodating exceptions to type. In Proceedings o{ the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 265-271.]]Google ScholarGoogle Scholar
  26. BORGIDA, A. 1985b. Flexible data exceptions. In Proceedings of the 11th International Conference on Very Large Data Bases (Singapore, Aug.). VLDB Endowment, Saratoga, Calif.]]Google ScholarGoogle Scholar
  27. BOROIDA, A. 1985c. Language features for flexible handling of exceptions in information systems. ACM Trans. Database Syst. 10, 4 (Dec.), 565-603.]] Google ScholarGoogle Scholar
  28. BRACHMAN, R. J. 1978. A New Paradigm for Representing Knowledge. Tech. Rep. BBN 3605. Bolt, Beranek and Newman, Cambridge, Mass.]]Google ScholarGoogle Scholar
  29. BRACHMAN, R. J. 1983. What IS-A is and isn't: An analysis of taxonomic links in semantic networks. Computer 16, 10 (Oct.), 30-35.]]Google ScholarGoogle Scholar
  30. BRAGGER, R. P., DUDLER, A., REBSAMEN, J., AND ZEHNDER, C. A. 1983. Gambit: An Interactive Database Design Tool {or Data Structures, Integrity Constraints and Transactions. Institute Fur Informatik, Eidgenossiche Technische Hochschule, Zurich, pp. 65-95.]]Google ScholarGoogle Scholar
  31. BROOIE, M., MYLOPOULOS, J., AND SCHMIDT, J. 1983. On Conceptual Modelling: Perspectives from Artificial Intelligence, Databases, and Programming Languages. Springer-Verlag, Berlin.]]Google ScholarGoogle Scholar
  32. BRUCE, K., AND WEGNER, P. 1987. An algebraic model of subtype and inheritance. In Proceedings of the Roscoff Workshop on Database Programruing Languages, Alta'fr--CRAI (Sept.). Available as a technical report from Computer and information Science Dept., Univ. of Pennsylvania, Philadelphia, Pa. or from Alta'/r, BP 105 Rocquencourt, 76153 LeChesnay Cedex, France.]]Google ScholarGoogle Scholar
  33. BUNEMAN, O. P. 1985. Data Types for Data Base Programming. In Proceedings o{ the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 285-298.]]Google ScholarGoogle Scholar
  34. BUNEMAN, O. P., AND ATKINSON, M. P. 1986. Inheritance and persistence in database programming languages. In Proceedings of A CM SIGMOD (Washington, D.C.). ACM, New York, 15, 2, June. pp. 4-15.]] Google ScholarGoogle Scholar
  35. BUNEMAN, O. P., AND OHORI, A. 1986. A domain theoretic approach to higher-order relations. In ICDT 86: International Conference on Database Theory (Rome). Springer-Verlag, Berlin.]] Google ScholarGoogle Scholar
  36. BUNEMAN, O. P., AND OHORI, A. 1987. Using powerdomains to generalize relational databases. Tech. Rep. Computer and Information Science Dept., Univ. of Pennsylvania, Philadelphia.]]Google ScholarGoogle Scholar
  37. BUNEMAN, O. P., FRANKEL, R. E., AND NIKHIL, R. 1982. An implementation technique for database query languages. A CM Trans. Database Syst. 7, 2 (June), 164-186.]] Google ScholarGoogle Scholar
  38. BUNEMAN, O. P., HIRSCHBERG, J., AND ROOT, D. 1982. A CODASYL interface for Pascal and Ada. In Proceedings of the 2nd British National Conference on Databases (Bristol, England, July). British Computer Society, Bristol, England.]]Google ScholarGoogle Scholar
  39. BURGE, W. H. 1977. Recursive Programming Techniques. Addison-Wesley, Reading, Mass.]]Google ScholarGoogle Scholar
  40. CARDELLI, L. 1984a. A Semantics of Multiple Inheritance. Springer-Verlag, Berlin, pp. 51-67.]] Google ScholarGoogle Scholar
  41. CARDELLI, L. 1984b. Amber. Tech. Rep. AT&T Bell Labs, Murray Hill, N.J.]]Google ScholarGoogle Scholar
  42. CARDELLI, L., AND MACQUEEN, D. M. 1985. Persistence and type abstraction. In Proceedings of the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 221-230.]]Google ScholarGoogle Scholar
  43. CARDELLI, L., AND WEGNER, P. 1985. On understanding types, data abstraction, and polymorphism. ACM Comput. Surv. 17, 4 (Dec.), 471-522.]] Google ScholarGoogle Scholar
  44. CAREY, M., DEWITT, D., RICHARDSON, J., AND SHEIKTA, E. 1986. Object and file management in the EXODUS extensible database system. In Proceedings of the 12th International Conference on Very Large Databases (Kyoto, Japan, Aug.). VLDB Endowment, Saratoga, Calif.]] Google ScholarGoogle Scholar
  45. CATTELL, R. G. G. 1983. Design and implementation of a relationship-entity-datum data model. Tech. Rep. CSL-83-4, Xerox Paid Alto Research Center, Paid Alto, Calif.]]Google ScholarGoogle Scholar
  46. CHEN, P. P. S. 1976. The entity-relationship model: Toward a unified view of data. A CM Trans. Database Syst. 11, 1 (Mar.), 9-36.]] Google ScholarGoogle Scholar
  47. CHUNG, K. L. 1984. Implementation of Taxis, Process Management and Enforcement of Semantic Integrity Constraints. Master's thesis, Dept. of Computing Science, Univ. of Toronto, Toronto, Canada.]]Google ScholarGoogle Scholar
  48. CLOCKSIN, W. F., AND MELLISH, C. S. 1981. Programming in Prolog. Springer-Verlag, Berlin.]] Google ScholarGoogle Scholar
  49. CODD, E. F. 1970. A relational model for large shared databanks. Cornmun. ACM 13, 6 (June), 377-387.]] Google ScholarGoogle Scholar
  50. CODD, E. F. 1979. Extending the database relational model to capture more meaning. A CM Trans. Database Syst. 4, 4 (Dec.), 397-434.]] Google ScholarGoogle Scholar
  51. COLE, A. J., AND MORRISON, R. 1982. An Introduction to Programming with S-algol. Cambridge University Press, New York.]] Google ScholarGoogle Scholar
  52. COPELAND, G. P., AND KHOSHAFIAN, S. N. 1987. Identity and versions for complex objects. In Proceedings of the Appin Workshop on Persistent Object Systems, Research Report 44. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Glasgow, Scotland, Aug., pp. 407-428.]]Google ScholarGoogle Scholar
  53. COPELAND, G., AND MAIER, D. 1984. Making Smalltalk a database system. In Proceedings of SIGMOD'84, ACM, New York, pp. 316-325.]] Google ScholarGoogle Scholar
  54. DAHL, O., AND NYGAARD, K. 1966. Simula, an Algolbased simulation language. Comrnun. A CM 9, 9 (Sept.), 671-678.]] Google ScholarGoogle Scholar
  55. DARLINGTON, J., HENDERSON, P., AND TURNER, D. A. 1982. Functional Programming and Its Applications. Cambridge University Press, Cambridge, England.]] Google ScholarGoogle Scholar
  56. DATE, C. J. 1981a. Referential integrity. In The 7th International Con{erence on Very Large Data Bases (Cannes, France). IEEE, New York, pp. 2-12.]]Google ScholarGoogle Scholar
  57. DATE, C. J. 1981b. An Introduction to Database Systerns. 3d ed. Addison-Wesley, Reading, Mass.]] Google ScholarGoogle Scholar
  58. DATE, C. J. 1983a. An Introduction to Database Systerns, vol. 2. Addison-Wesley, Reading, Mass.]] Google ScholarGoogle Scholar
  59. DATE, C. J. 1983b. Database: A Primer. Addison- Wesley, Reading, Mass.]]Google ScholarGoogle Scholar
  60. DEMERS, A., AND DONAHUE, J. 1979. Revised report on Russell. Tech. Rep. TR79-389. Dept. of Computer Science, Cornell Univ., Ithaca, N.Y.]]Google ScholarGoogle Scholar
  61. DONAHUE, J., HAUSER, C., AND KENT, J. 1986. A client interface to an entity-relationship database system. Tech. Rep. CSL-86-4. Xerox Palo Alto Research Center, Palo Alto, Calif.]]Google ScholarGoogle Scholar
  62. ECKHARDT, H., EDELMAN, J., KOCH, J., MALL, M., AND SCHMiDT, J. W. 1985. Draft report on the database programming language DBPL. DBPL- Memo 091-85. Fachbereich Informatik, Univ. of Frankfurt, Frankfurt, West Germany.]]Google ScholarGoogle Scholar
  63. FAIRBAIRN, J. 1982. Ponder and its type system. Tech. Rep. 31, Computer Laboratory, Univ. of Cambridge, Cambridge, England.]]Google ScholarGoogle Scholar
  64. FAIRBAIRN, J. 1985. A new type-checker for a functional language. In Proceedings o{ the Appin Workshop on Data Types and Persistence. Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 107- 123.]]Google ScholarGoogle Scholar
  65. GALLAIRE, H., AND MINKER, J. 1978. Logic and Databases. Plenum, New York.]] Google ScholarGoogle Scholar
  66. GALLAIRE, H., MiNKER, J., AND NICOLAS, J.-M. 1984. Logic and databases: A deductive approach. ACM Comput. Surv. 16, 2 (June), 153- 185.]] Google ScholarGoogle Scholar
  67. GOOUEN, A., AND MESEOUER, J. 1984. EQLOG: Equality, types and generic modules for logic programming. J. Logic Program. 1,179-209.]]Google ScholarGoogle Scholar
  68. GOLDBERG, A., AND ROBSON, D. 1983. SmaUtalk-80: The Language and Its Implementation. Addison- Wesley, Reading, Mass.]] Google ScholarGoogle Scholar
  69. GOLDSTEIN, I. P., AND BOBROW, D. G. 1980. Extending object oriented programming in Smalltalk. In Proceedings of the 1980 Lisp Conference (Aug.). ACM, New York, pp. 75-81.]] Google ScholarGoogle Scholar
  70. GORDON, M. J., MILNER, A. J. R. G., AND WADS- WORTH, C. P. 1979. Edinburgh LCF. Lecture Notes in Computer Science, vol. 78, Springer- Verlag, New York.]]Google ScholarGoogle Scholar
  71. HALL, P. A. V. 1983. Adding database management to Ada. SIGPLAN Not. (ACM) 13, 3 (Apr.), 13- 17.]] Google ScholarGoogle Scholar
  72. HAMMER, M., AND MCLEOD, D. 1980. On database management system architecture. In In{otech State o{ the Art Report on Database, M. Atkinson, Ed. Infotech, Maidenhead, England.]]Google ScholarGoogle Scholar
  73. HAMMER, M., AND MCLEOD, D. 1981. Database description with SDM: A semantic database model. ACM Trans. Database Syst. 6, 3 (Sept.), 351-386.]] Google ScholarGoogle Scholar
  74. HENDERSON, P., AND MORRIS, J. H. 1976. A lazy evaluator. In 3rd ACM Symposium on Principles of Programming Languages. ACM, New York, pp. 95-103.]] Google ScholarGoogle Scholar
  75. HOROWITZ, E., AND KEMPER, A. 1983. AdaRel: A relational extension of Ada. Tech. Rep. TR-83- 218, Dept. of Computing Science, Univ. of Southern California, Los Angeles, Calif.]]Google ScholarGoogle Scholar
  76. ICHBIAH, J. H., BARNES, J. G. P., HELIARD, J. C., KRIEG-BRUCKNER, B., ROUBINE, O., AND WICH- MANN, B. A. 1979. Rationale of the design of the programming language Ada. Sigplan Not. (ACM) 14, 6.]] Google ScholarGoogle Scholar
  77. IVERSON, K. E. 1979. Operators. A CM Trans. Program. Lang. Syst. 1, 2 (Oct.), 161-176.]] Google ScholarGoogle Scholar
  78. JARKE, M., AND KOCH, J. 1982. A survey of query optimization in centralized database systems. Tech. Rep. CRIS 44, GBA 82-73 CR, Center for Research on Information Systems, New York Univ., New York, Nov.]]Google ScholarGoogle Scholar
  79. JARKE, M., AND KOCH, J. 1983. Range nesting:. A fast method to evaluate quantified queries. In Proceedings o{ the A CM SIGMOD International Conference on Management o{ Data (San Jose, CaliL). ACM, New York. Also Tech. Rep. CRIS 49, GBA 83-25 CR, Center for Research on Information Systems, New York Univ., New York, May.]] Google ScholarGoogle Scholar
  80. JARKE, M., AND KOCH, J. 1984. Query optimization in database systems. A CM Comput. Surv. 16, 2 (June), 111-152.]] Google ScholarGoogle Scholar
  81. JARKE, M., AND VASSILOU, Y. 1985. A framework for choosing a database query language. A CM Compu~ Survey. 17, 3 (Sept.), 313-340.]] Google ScholarGoogle Scholar
  82. KAHN, G., MACQUEEN, D., AND PLOTKIN, G. EDS. Semantics o{ Data Types: International Symposiun~ Springer-Verlag, Berlin, 1984.]]Google ScholarGoogle Scholar
  83. KAPLAN, H. 1983. High level interfaces for databases. Master's thesis, Dept. of Computing and information Science, Univ. of Pennsylvania, Philadelphia, Pa.]]Google ScholarGoogle Scholar
  84. KENT, W. 1978. Data and Reality. North-Holland, Amsterdam.]]Google ScholarGoogle Scholar
  85. KENT, W. 1979. Limitations of record-based information models. A CM Trans. Database Sy~t. 4, 1 (Mar.), 107-131.]] Google ScholarGoogle Scholar
  86. KERSTEN, M. L., AND WASSERMAN, A. I. 1981. The architecture of the plain data base handler. So{tw. Pract. Exper. 11, 175-186.]]Google ScholarGoogle Scholar
  87. KHOSHAFIAN, $. N., AND COPELAND, G. P. 1986. Object identity. SIGPLAN Not. (ACM), 21, 11 (Nov.), 406-416.]] Google ScholarGoogle Scholar
  88. KOCH, J., MALL, M., PUTFARKEN, P., REIMER, M., SCHMIDT, J. W., AND ZEHNDER, C. A. 1983. Modula/R report. Lilith version. Tech. Rep. Institute Fur Informatik, Eidgenossische Technische Hochschule, Zurich.]]Google ScholarGoogle Scholar
  89. KRABLIN, G. L. 1985. Building flexible multilevel transactions in a distributed persistent environment. In Proceedings of the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp, 83-105.]]Google ScholarGoogle Scholar
  90. KULKARNI, K. G., AND ATICINSON, M. P. 1983. Use of PS-algol to experiment with data models. Softw. Pract. Exper. 17, 3 (Mar.), 171-185.]] Google ScholarGoogle Scholar
  91. KULKARNI, K. G., AND ATKINSON, M. P. 1985. EFDM: Extended Functional Data Model. Brit. Comput. J. 19, 1 (Jan.), 38-45.]]Google ScholarGoogle Scholar
  92. LAMPSON, B. W., HORNING, J. J., LONDON, R. L., MITCHELL, J. G., AND POPEK, G. L. 1977. Report on the programming language EUCLID. SIGPLAN Not. (ACM) 12, 2.]] Google ScholarGoogle Scholar
  93. LISKOV, B. 1981. CLU Reference Manual, G. Goos and J. Hartmanis, Eds. Lecture notes in Computer Science, vol 114. Springer-Verlag, Berlin.]] Google ScholarGoogle Scholar
  94. LISKOV, B.: HERLIHY, M., JOHNSON, P., LEAVENS, G., SCHEIFLER, R., AND WEIHL, W. 1983. Preliminary ARGUS reference manual. Tech. Rep. Memo 39. Programming Methodology Group, Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, Mass., Oct.]]Google ScholarGoogle Scholar
  95. MACQUEEN, D. M. 1985. Modules for standard ML. Polymorphism 2, 2. AT&T Bell Laboratories.]]Google ScholarGoogle Scholar
  96. MAIER, D., STEIN, J., OTIS, A., AND PURDY, A. 1986. Development of an object-oriented DBMS. SIGPLAN Not. (ACM) 21, 11 (Nov.), 172-182.]] Google ScholarGoogle Scholar
  97. MALL, M., SCHMIDT, J. W., AND REIMER, M. 1984. Data selection, sharing, and access control in a rela'tional scenario. In On Conceptual ModeUing, M. L. Brodie, J, L. Mylopoulos, and J. W. Schmidt, Eds. Springer-Verlag, Berlin.]]Google ScholarGoogle Scholar
  98. MATTHEWS, C. J. 1985a. Poly manual. Tech. Rep. 63, Computer Laboratory, Univ. of Cambridge, Cambridge, England.]]Google ScholarGoogle Scholar
  99. MATTHEWS, D. C. J. 1985b. Overview of the poly programming language. In Proceedings o{ the Appin Workshop on Data Types and Persistence. Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 255-263.]]Google ScholarGoogle Scholar
  100. MCCARTHY, J. 1962. LiSP 1.5 Programmer's Manual. MIT Press, Cambridge, Mass.]] Google ScholarGoogle Scholar
  101. MERRETT, T. H. 1977. Relations as programming language elements. Inf. Process. Lett. 6, 1 (Feb.), 29-33.]]Google ScholarGoogle Scholar
  102. MERRETT, T. H. 1983. Extending the relational data model to capture less meaning. A CM SIGMOD Rec. 14, 3, 55-69.]] Google ScholarGoogle Scholar
  103. MERRETT, T. H. 1984. Relational Information Systerns. Reston Publishing, Reston, Va.]] Google ScholarGoogle Scholar
  104. MERRETT, T. H. 1985a. First Steps to Algebraic Processing of Text. Academic Press, Orlando, Fla.]]Google ScholarGoogle Scholar
  105. MERRETT, T. H. 1985b. Persistence and Aldat. in Proceedings of the Appin Workshop on Data Types and Persistence. Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, Aug., pp. 35-48.]]Google ScholarGoogle Scholar
  106. MERRETT, T. H., AND D0CHTING, B. 1984. Relational storage and processing of two dimensional diagrams. Comput. Graplr 9, 3.]]Google ScholarGoogle Scholar
  107. MICHIE, D. 1968. "Memo" functions and machine learning. Nature, 218 (Apr.), 19-22.]]Google ScholarGoogle Scholar
  108. MILLER, D. 1986. A theory of modules for logic programming. In Proceedings o{ the 1986 IEEE Symposium on Logic Programming (Salt Lake City, Utah). IEEE, New York.]]Google ScholarGoogle Scholar
  109. MILNER, R. 1978. A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17, 348-375.]]Google ScholarGoogle Scholar
  110. MILNER, R. 1979. Flowgraphs and flow algebras. J. ACM 26, 4 (Oct.), 794-818.]] Google ScholarGoogle Scholar
  111. MILNER, R. 1983. A proposal for standard ML. Polymorphism 1, 3 (Dec.).]]Google ScholarGoogle Scholar
  112. MILNER, R. 1984. A proposal for standard ML. in Proceedings o{ the 1984 A CM Symposium on Lisp and Functional Programming (Aug.). ACM, New York, pp. 184-197.]] Google ScholarGoogle Scholar
  113. MORISON, R. 1979. S-Algol Language Reference Manual. Tech. Rep. CS/79/1, Dept. of Computational Science, Univ. of St. Andrews, St. Andrews, Scotland.]]Google ScholarGoogle Scholar
  114. MORRISON, R., DEARLE, A., BROWN, A. L., AND AT~ KINSON, M. P. 1985a. The persistent store as an enabling technology for integrated support environments. In Proceedings o{ the 8th lnterna~ tional Con{erence on So{tware Engineering (London, Aug.). iEEE, New York.]] Google ScholarGoogle Scholar
  115. MORRISON, R., BROWN, A. L., BAILEY, P. J., DAVIE, A. J. T., ANO DEARLE, A. 1985b. A persistent graphics facility for the ICL PERQ. Softw. Pract. Exper. 14, 3.]] Google ScholarGoogle Scholar
  116. MYCROFT, A. 1984. An inferential type system for Prolog. Tech. Rep., Computer Science Dept., Univ. of Edinburgh, Edinburgh, Scotland.]]Google ScholarGoogle Scholar
  117. MYLOPOULOS, J., AND WONO, H. K. T. 1980. Some features of the Taxis data model. In The 6th International Conference on Very Large Data Bases (Montreal, Canada, Oct. 1-3). ACM, New York.]]Google ScholarGoogle Scholar
  118. MYLOPOULO8, J., BERN8TEIN, P. A., AND WONG, H. K. T. 1980. A language facility for designing database intensive applications. A CM Trans. Database Syst. 5, 2 (June), 185-207.]] Google ScholarGoogle Scholar
  119. NIKHIL, R. 1982. RDB--A relational database management system, User Manual. Tech. Rep., Dept. of Computer Science and information Science, Univ. of Pennsylvania, Philadelphia.]]Google ScholarGoogle Scholar
  120. NIKHIL, R. 1984. An incremental, strongly typed applicative programming system for databases. Ph.D. dissertation, Dept. of Computing and Information Science, School of Engineering and Applied Science, Univ. of Pennsylvania, Philadelphia.]]Google ScholarGoogle Scholar
  121. NIXON, B. 1983. A Taxis compiler. Master's thesis, Dept. of Computing Science, Univ. of Toronto, Toronto, Ont., Canada.]]Google ScholarGoogle Scholar
  122. NIXON, B., ED. 1984. Taxis '84: Selected papers. Tech. Rep. TR CSRG-160, Computer Science Research Group, Univ. of Toronto, Toronto, Ont., Canada.]]Google ScholarGoogle Scholar
  123. O'BRIEN, P. 1983. An integrated interactive design environment for Taxis. In Proceedings o{ the 1983 So{t{air Con{erence (July). Softfair, Washington, D.C.]]Google ScholarGoogle Scholar
  124. O'BmEN, P., BULLiS, B., AND SCHAFFERT, C. 1986. Persistent and shared objects in trellis/owl, in Proceedings of the 1986 IEEE International Workshop on Object-Oriented Database Systems. IEEE, New York.]] Google ScholarGoogle Scholar
  125. OHORI, A. 1987. Orderings and types in databases. In Proceedings o{ the Roscoff Workshop on Database Programming Languages, Altai~--CRAI. Available as a technical report from Computer and Information Science Dept., Univ. of Pennsylvania, Philadelphia, Pa. 19104 or from Altair, BP 105 Rocquencourt, 76153 LeChesnay Cedex, France.]]Google ScholarGoogle Scholar
  126. OLLE, T. W. 1978. The CODASYL Approach to Data Base Management. Wiley-Interscience, New York.]] Google ScholarGoogle Scholar
  127. ONTOLOOIC, INC. 1986. Vbase Object Manager User Manual. Bilerica, Mass.]]Google ScholarGoogle Scholar
  128. OWOSO, G. O. 1984. Data description and manipulation in persistent programming languages. Ph.D. dissertation. Univ. of Edinburgh, Computer Science Dept., Edinburgh, Scotland.]]Google ScholarGoogle Scholar
  129. OWOSO, G. O. 1985. Flexible data handling in programming languages. In Proceedings o{ the Appin Workshop on Data Types and Persistence. Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland.]]Google ScholarGoogle Scholar
  130. PERSISTENT PROGRAMMING RE8EARCH GROUP 1985. The PS-Algol Reference Manual. 2d ed. Tech. Rep. PPR-12-85. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland.]]Google ScholarGoogle Scholar
  131. PIROTTE, A., AND LACROIX, M. 1980. User interfaces for database application programming. In Infotech State o{ the Art Con{erence on Databases. Infotech, London, England.]]Google ScholarGoogle Scholar
  132. RICHARD, P., AND VELEZ, F. 1987. An object-oriented formal data model. In Proceedings o{ the Roscof{ Workshop on Database Programming Languages, Altair--CRAI. Sept. Available as a technical report from Computer and Information Science Dept., Univ. of Pennsylvania, Philadelphia, Pa. 19104, or from Altair, BP 105 Rocquencourt, 76153 LeChesnay Cedex, France.]]Google ScholarGoogle Scholar
  133. ROSENTHAL, A., HEILER, S., DAYAL, U., AND MAN- OLA, F. 1986. Traversal recursion: A practical approach to supporting recursive applications. In Proceedings o{ the A CM SIGMOD International Con{erence on the Management o{ Data (Washington, D.C., May 28-30). ACM, New York, pp. 166-176.]] Google ScholarGoogle Scholar
  134. ROWE, L. 1985. Windows on relations. In Proceedings of the 11th International Con{erence on Very Large Data Bases (Singapore, Aug.). J. Bubenko, Ed., VLDB Endowment, Saratoga, Calif.]]Google ScholarGoogle Scholar
  135. ROWE, L., AND SHOENS, K. 1979. Data abstraction, views and updates in RIGEL. In Proceedings o{ A CM SIGMOD International Con{erence on Management o{ Data (Boston, Mass., May 30-June 1). ACM, New York, pp. 71-81.]] Google ScholarGoogle Scholar
  136. SAMET, P. A., ED. 1981. Query Languages: A Unified Approach. Monographs in Informatics. Heyden & Sons, London, England.]]Google ScholarGoogle Scholar
  137. SCHMIDT, J. W. 1977. Some high level language constructs for data of type relation. A CM Trans. Database Syst. 2, 3 (Sept.), 247-261.]] Google ScholarGoogle Scholar
  138. SCHMIDT, J. W., AND BRODm, M. 1983. Relational Database Systems. Springer-Verlag, New York.]] Google ScholarGoogle Scholar
  139. SCHMIDT, J. W., AND MALL, M. 1983. Abstraction mechanisms for database programming. SIG- PLAN Not. (ACM) 18, 6 (June).]]Google ScholarGoogle Scholar
  140. SHIPMAN, D. W. 1981. The functional data model and the data language DAPLEX. ACM Trans. Database $yst. 6, 1 (Mar.), 140-173.]] Google ScholarGoogle Scholar
  141. SHOPIRO, J. E. 1979. THESEUS--A Programming language for relational databases. A CM Trans. Database $yst. 4, 4 (Dec.), 493-517.]] Google ScholarGoogle Scholar
  142. SKARRA, A. H., AND ZDONIK, $. B. 1986. The management of changing types in an object-oriented database. SIGPLAN Not. (ACM) 21, 11 (Nov.), 483-495.]] Google ScholarGoogle Scholar
  143. SMITH, J. M., AND SMITH, D. C. P. 1977. Database abstractions: Aggregation and generalisation. ACM Trans. Database Syst. 2, 2 (June), 105-133.]] Google ScholarGoogle Scholar
  144. SMITH, J. M., FOX, S., AND LANDERS, T. 1983. ADAPLEX: Rationale and Reference Manual 2d ed. Computer Corporation Of America, Cambridge, Mass.]]Google ScholarGoogle Scholar
  145. STONEBRAKER, M., AND ROWE, L. A. 1986. The design of postgres. In Proceedings o{ A CM SIG- MOD International Conference on the Management of Data (June). ACM, New York, pp. 340- 355.]] Google ScholarGoogle Scholar
  146. STONEBRAKER, M., WONG, E., KREPS, P., AND HELD, G. 1976. The design and implementation of INGRES. ACM Trans. Database Syst. 1, 3 (Sept.), 189-222.]] Google ScholarGoogle Scholar
  147. STROUSTRUP, B. 1986. The C++ Programming Language. Addison-Wesley, Reading, Mass.]] Google ScholarGoogle Scholar
  148. SWINEHART, D. C., ZELLWEGER, P. T., HAaMANN, R. B., AND BEACH, R. J. 1986. A structural view of the Cedar programming language. ACM Trans. Program. Lang. Syst. 8, 4 (Oct.), 419-490.]] Google ScholarGoogle Scholar
  149. TEITELMAN, W. 1975. INTERSLIP reference manual. Tech. Rep., Xerox Paid Alto Research Center, Paid Alto, Calif.]]Google ScholarGoogle Scholar
  150. TSICHRITZIS, D. C., AND LOCHOVSKY, F. H. 1977. Data Base Management Systems. Academic Press, New York.]]Google ScholarGoogle Scholar
  151. TURNER, D. A. 1981. The semantic elegance of applicative languages. In Proceedings o{ 1981 Conference on Functional Programming Languages & Computer Architecture (Portsmouth, N.H., Oct.). ACM, New York, pp. 18-22.]] Google ScholarGoogle Scholar
  152. TURNER, D. A. 1985. Miranda: A non-strict functional language with polymorphic types. In Functional Programming Languages and Computer Architecture, J.-P. Jouannaud, Ed. Springer- Verlag, Berlin, pp. 1-16.]] Google ScholarGoogle Scholar
  153. TURNER, D. 1986. An overview of Miranda. Sigplan Not. (ACM) 2, 12 (Dec.), 158-167.]] Google ScholarGoogle Scholar
  154. ULLMAN, J. D. 1982. Principles of Database Systems. 2d ed. Pitman, Marshfield, Mass.]] Google ScholarGoogle Scholar
  155. VAN WIJNGAARDEN, A., MAiLLOUX, B. J., PECK, J. E. L., COSTER, C. H. A., SINTZOFF, M., LiNDSEY, C. H., MEERTENS, L. G. L. T., AND FISKER, R. G. 1969. Report on the algorithmic language Algol 68. Numer. Math. 14, 79-218.]]Google ScholarGoogle Scholar
  156. WASSERMAN, A. I. 1978. Design goals for PLAIN. In Proceedings of the 11th Hawaii International Conference on Systems Sciences, Western Periodicals, No. Hollywood, Calif., pp. 25-30.]]Google ScholarGoogle Scholar
  157. WASSERMAN, A. I., AND BOOSTER, T. W. 1981. String handling and pattern matching in PLAIN. Tech. Rep. 50, Laboratory of Medical Information Science, Univ. of California, San Francisco, Calif.]]Google ScholarGoogle Scholar
  158. WASSERMAN, A. I., SHERTZ, D. D., KERSTEN, M. L., REIT, R. P., AND VAN DE DIPPE, M. D. 1981. Revised report on the programming language PLAIN. SIGPLAN Not. (ACM).]]Google ScholarGoogle Scholar
  159. WEIHL, W. E., AND LISKOV, B. 1985a. Implementation of resilient, atomic data types. ACM Trans. Program. Lang. Syst. 7, 2 (Apr.), 244-269.]] Google ScholarGoogle Scholar
  160. WIHEL, W. E. 1985b. Linguistic support for atomic data types. In Proceedings of the Appin Workshop on Data Types and Persistence. Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 145-173.]]Google ScholarGoogle Scholar
  161. WIRTH, N. 1971. The programming language PAS- CAL. Acta Inf. 1.]]Google ScholarGoogle Scholar
  162. WIRTH, N. 1983. Programming in Modula-2. 2d ed. Springer-Verlag, Berlin.]] Google ScholarGoogle Scholar
  163. ZDONXK, S. B., AND WEGNER, P. 1985. A database approach to languages, libraries and environments. In Proceedings of the Appin Workshop on Data Types and Persistence. Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 145-173.]]Google ScholarGoogle Scholar

Recommendations

Reviews

Marvin V. Zelkowitz

This paper surveys the development of programming languages designed for database applications. The major difference between these languages and traditional ones, such as Ada or Pascal, is the concept of persistence—the ability of the language to create objects that exist beyond the execution of the program. First, the paper discusses three primary attributes of DBMS languages: persistence, type completeness, and expressive power. Type completeness in a language allows the programmer to use any data type in any context requiring a type, and expressive power ensures the ability to write statements that provide the desired manipulation of data objects. The authors then describe a sample database problem. They first provide a solution in Pascal, as an example, and then present alternative solutions from a variety of sources, including SQL, CODASYL DDC, Pascal/R, Daplex, FQL, Taxis, Galileo, ML, Poly, PS-Algol, and Amber. This paper is a good summary of current developments in DBMS languages. It clearly presents the major features needed in such languages and gives a good overview of what is available.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM Computing Surveys
    ACM Computing Surveys  Volume 19, Issue 2
    June 1987
    86 pages
    ISSN:0360-0300
    EISSN:1557-7341
    DOI:10.1145/62070
    Issue’s Table of Contents

    Copyright © 1987 ACM

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 June 1987
    Published in csur Volume 19, Issue 2

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader