skip to main content
article
Free access

Types and persistence in database programming languages

Published: 01 June 1987 Publication History

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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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).]]
[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.]]
[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.]]
[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.]]
[12]
ATKINSON, M. P., AND MORmSON, R. 1985a. First class persistent procedures. A CM Trans. Program. Lang. Syst. 7, 4 (Oct.), 501-538.]]
[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.]]
[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.]]
[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.]]
[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.).]]
[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.).]]
[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.]]
[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.]]
[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.]]
[21]
BALZER, R. M. 1986. Living in the next generation operating system. In In{ormation Processing 86. Elsevier North-Holland, New York.]]
[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.]]
[23]
BEVER, M., AND LOCKEMANN, P. C. 1985. Database hosting in strongly typed language. ACM Trans. Database Syst. 10, 1 (Mar.), 107-126.]]
[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.]]
[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.]]
[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.]]
[27]
BOROIDA, A. 1985c. Language features for flexible handling of exceptions in information systems. ACM Trans. Database Syst. 10, 4 (Dec.), 565-603.]]
[28]
BRACHMAN, R. J. 1978. A New Paradigm for Representing Knowledge. Tech. Rep. BBN 3605. Bolt, Beranek and Newman, Cambridge, Mass.]]
[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.]]
[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.]]
[31]
BROOIE, M., MYLOPOULOS, J., AND SCHMIDT, J. 1983. On Conceptual Modelling: Perspectives from Artificial Intelligence, Databases, and Programming Languages. Springer-Verlag, Berlin.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[39]
BURGE, W. H. 1977. Recursive Programming Techniques. Addison-Wesley, Reading, Mass.]]
[40]
CARDELLI, L. 1984a. A Semantics of Multiple Inheritance. Springer-Verlag, Berlin, pp. 51-67.]]
[41]
CARDELLI, L. 1984b. Amber. Tech. Rep. AT&T Bell Labs, Murray Hill, N.J.]]
[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.]]
[43]
CARDELLI, L., AND WEGNER, P. 1985. On understanding types, data abstraction, and polymorphism. ACM Comput. Surv. 17, 4 (Dec.), 471-522.]]
[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.]]
[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.]]
[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.]]
[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.]]
[48]
CLOCKSIN, W. F., AND MELLISH, C. S. 1981. Programming in Prolog. Springer-Verlag, Berlin.]]
[49]
CODD, E. F. 1970. A relational model for large shared databanks. Cornmun. ACM 13, 6 (June), 377-387.]]
[50]
CODD, E. F. 1979. Extending the database relational model to capture more meaning. A CM Trans. Database Syst. 4, 4 (Dec.), 397-434.]]
[51]
COLE, A. J., AND MORRISON, R. 1982. An Introduction to Programming with S-algol. Cambridge University Press, New York.]]
[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.]]
[53]
COPELAND, G., AND MAIER, D. 1984. Making Smalltalk a database system. In Proceedings of SIGMOD'84, ACM, New York, pp. 316-325.]]
[54]
DAHL, O., AND NYGAARD, K. 1966. Simula, an Algolbased simulation language. Comrnun. A CM 9, 9 (Sept.), 671-678.]]
[55]
DARLINGTON, J., HENDERSON, P., AND TURNER, D. A. 1982. Functional Programming and Its Applications. Cambridge University Press, Cambridge, England.]]
[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.]]
[57]
DATE, C. J. 1981b. An Introduction to Database Systerns. 3d ed. Addison-Wesley, Reading, Mass.]]
[58]
DATE, C. J. 1983a. An Introduction to Database Systerns, vol. 2. Addison-Wesley, Reading, Mass.]]
[59]
DATE, C. J. 1983b. Database: A Primer. Addison- Wesley, Reading, Mass.]]
[60]
DEMERS, A., AND DONAHUE, J. 1979. Revised report on Russell. Tech. Rep. TR79-389. Dept. of Computer Science, Cornell Univ., Ithaca, N.Y.]]
[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.]]
[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.]]
[63]
FAIRBAIRN, J. 1982. Ponder and its type system. Tech. Rep. 31, Computer Laboratory, Univ. of Cambridge, Cambridge, England.]]
[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.]]
[65]
GALLAIRE, H., AND MINKER, J. 1978. Logic and Databases. Plenum, New York.]]
[66]
GALLAIRE, H., MiNKER, J., AND NICOLAS, J.-M. 1984. Logic and databases: A deductive approach. ACM Comput. Surv. 16, 2 (June), 153- 185.]]
[67]
GOOUEN, A., AND MESEOUER, J. 1984. EQLOG: Equality, types and generic modules for logic programming. J. Logic Program. 1,179-209.]]
[68]
GOLDBERG, A., AND ROBSON, D. 1983. SmaUtalk-80: The Language and Its Implementation. Addison- Wesley, Reading, Mass.]]
[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.]]
[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.]]
[71]
HALL, P. A. V. 1983. Adding database management to Ada. SIGPLAN Not. (ACM) 13, 3 (Apr.), 13- 17.]]
[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.]]
[73]
HAMMER, M., AND MCLEOD, D. 1981. Database description with SDM: A semantic database model. ACM Trans. Database Syst. 6, 3 (Sept.), 351-386.]]
[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.]]
[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.]]
[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.]]
[77]
IVERSON, K. E. 1979. Operators. A CM Trans. Program. Lang. Syst. 1, 2 (Oct.), 161-176.]]
[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.]]
[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.]]
[80]
JARKE, M., AND KOCH, J. 1984. Query optimization in database systems. A CM Comput. Surv. 16, 2 (June), 111-152.]]
[81]
JARKE, M., AND VASSILOU, Y. 1985. A framework for choosing a database query language. A CM Compu~ Survey. 17, 3 (Sept.), 313-340.]]
[82]
KAHN, G., MACQUEEN, D., AND PLOTKIN, G. EDS. Semantics o{ Data Types: International Symposiun~ Springer-Verlag, Berlin, 1984.]]
[83]
KAPLAN, H. 1983. High level interfaces for databases. Master's thesis, Dept. of Computing and information Science, Univ. of Pennsylvania, Philadelphia, Pa.]]
[84]
KENT, W. 1978. Data and Reality. North-Holland, Amsterdam.]]
[85]
KENT, W. 1979. Limitations of record-based information models. A CM Trans. Database Sy~t. 4, 1 (Mar.), 107-131.]]
[86]
KERSTEN, M. L., AND WASSERMAN, A. I. 1981. The architecture of the plain data base handler. So{tw. Pract. Exper. 11, 175-186.]]
[87]
KHOSHAFIAN, $. N., AND COPELAND, G. P. 1986. Object identity. SIGPLAN Not. (ACM), 21, 11 (Nov.), 406-416.]]
[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.]]
[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.]]
[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.]]
[91]
KULKARNI, K. G., AND ATKINSON, M. P. 1985. EFDM: Extended Functional Data Model. Brit. Comput. J. 19, 1 (Jan.), 38-45.]]
[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.]]
[93]
LISKOV, B. 1981. CLU Reference Manual, G. Goos and J. Hartmanis, Eds. Lecture notes in Computer Science, vol 114. Springer-Verlag, Berlin.]]
[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.]]
[95]
MACQUEEN, D. M. 1985. Modules for standard ML. Polymorphism 2, 2. AT&T Bell Laboratories.]]
[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.]]
[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.]]
[98]
MATTHEWS, C. J. 1985a. Poly manual. Tech. Rep. 63, Computer Laboratory, Univ. of Cambridge, Cambridge, England.]]
[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.]]
[100]
MCCARTHY, J. 1962. LiSP 1.5 Programmer's Manual. MIT Press, Cambridge, Mass.]]
[101]
MERRETT, T. H. 1977. Relations as programming language elements. Inf. Process. Lett. 6, 1 (Feb.), 29-33.]]
[102]
MERRETT, T. H. 1983. Extending the relational data model to capture less meaning. A CM SIGMOD Rec. 14, 3, 55-69.]]
[103]
MERRETT, T. H. 1984. Relational Information Systerns. Reston Publishing, Reston, Va.]]
[104]
MERRETT, T. H. 1985a. First Steps to Algebraic Processing of Text. Academic Press, Orlando, Fla.]]
[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.]]
[106]
MERRETT, T. H., AND D0CHTING, B. 1984. Relational storage and processing of two dimensional diagrams. Comput. Graplr 9, 3.]]
[107]
MICHIE, D. 1968. "Memo" functions and machine learning. Nature, 218 (Apr.), 19-22.]]
[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.]]
[109]
MILNER, R. 1978. A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17, 348-375.]]
[110]
MILNER, R. 1979. Flowgraphs and flow algebras. J. ACM 26, 4 (Oct.), 794-818.]]
[111]
MILNER, R. 1983. A proposal for standard ML. Polymorphism 1, 3 (Dec.).]]
[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.]]
[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.]]
[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.]]
[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.]]
[116]
MYCROFT, A. 1984. An inferential type system for Prolog. Tech. Rep., Computer Science Dept., Univ. of Edinburgh, Edinburgh, Scotland.]]
[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.]]
[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.]]
[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.]]
[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.]]
[121]
NIXON, B. 1983. A Taxis compiler. Master's thesis, Dept. of Computing Science, Univ. of Toronto, Toronto, Ont., Canada.]]
[122]
NIXON, B., ED. 1984. Taxis '84: Selected papers. Tech. Rep. TR CSRG-160, Computer Science Research Group, Univ. of Toronto, Toronto, Ont., Canada.]]
[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.]]
[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.]]
[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.]]
[126]
OLLE, T. W. 1978. The CODASYL Approach to Data Base Management. Wiley-Interscience, New York.]]
[127]
ONTOLOOIC, INC. 1986. Vbase Object Manager User Manual. Bilerica, Mass.]]
[128]
OWOSO, G. O. 1984. Data description and manipulation in persistent programming languages. Ph.D. dissertation. Univ. of Edinburgh, Computer Science Dept., Edinburgh, Scotland.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[136]
SAMET, P. A., ED. 1981. Query Languages: A Unified Approach. Monographs in Informatics. Heyden & Sons, London, England.]]
[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.]]
[138]
SCHMIDT, J. W., AND BRODm, M. 1983. Relational Database Systems. Springer-Verlag, New York.]]
[139]
SCHMIDT, J. W., AND MALL, M. 1983. Abstraction mechanisms for database programming. SIG- PLAN Not. (ACM) 18, 6 (June).]]
[140]
SHIPMAN, D. W. 1981. The functional data model and the data language DAPLEX. ACM Trans. Database $yst. 6, 1 (Mar.), 140-173.]]
[141]
SHOPIRO, J. E. 1979. THESEUS--A Programming language for relational databases. A CM Trans. Database $yst. 4, 4 (Dec.), 493-517.]]
[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.]]
[143]
SMITH, J. M., AND SMITH, D. C. P. 1977. Database abstractions: Aggregation and generalisation. ACM Trans. Database Syst. 2, 2 (June), 105-133.]]
[144]
SMITH, J. M., FOX, S., AND LANDERS, T. 1983. ADAPLEX: Rationale and Reference Manual 2d ed. Computer Corporation Of America, Cambridge, Mass.]]
[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.]]
[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.]]
[147]
STROUSTRUP, B. 1986. The C++ Programming Language. Addison-Wesley, Reading, Mass.]]
[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.]]
[149]
TEITELMAN, W. 1975. INTERSLIP reference manual. Tech. Rep., Xerox Paid Alto Research Center, Paid Alto, Calif.]]
[150]
TSICHRITZIS, D. C., AND LOCHOVSKY, F. H. 1977. Data Base Management Systems. Academic Press, New York.]]
[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.]]
[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.]]
[153]
TURNER, D. 1986. An overview of Miranda. Sigplan Not. (ACM) 2, 12 (Dec.), 158-167.]]
[154]
ULLMAN, J. D. 1982. Principles of Database Systems. 2d ed. Pitman, Marshfield, Mass.]]
[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.]]
[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.]]
[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.]]
[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).]]
[159]
WEIHL, W. E., AND LISKOV, B. 1985a. Implementation of resilient, atomic data types. ACM Trans. Program. Lang. Syst. 7, 2 (Apr.), 244-269.]]
[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.]]
[161]
WIRTH, N. 1971. The programming language PAS- CAL. Acta Inf. 1.]]
[162]
WIRTH, N. 1983. Programming in Modula-2. 2d ed. Springer-Verlag, Berlin.]]
[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.]]

Cited By

View all

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

Information & Contributors

Information

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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 1987
Published in CSUR Volume 19, Issue 2

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)386
  • Downloads (Last 6 weeks)41
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media