ACM Home Page
Please provide us with feedback. Feedback
Types and persistence in database programming languages
Full text PdfPdf (7.91 MB)
Source ACM Computing Surveys (CSUR) archive
Volume 19 ,  Issue 2  (June 1987) table of contents
Pages: 105 - 170  
Year of Publication: 1987
ISSN:0360-0300
Authors
Malcolm P. Atkinson  Univ. of Glasgow, Glasgow, Scotland
O. Peter Buneman  Univ. of Pennsylvania, Philadelphia
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 31,   Downloads (12 Months): 181,   Citation Count: 76
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/62070.45066
What is a DOI?

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

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
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
 
5
 
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
 
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
 
12
ATKINSON, M. P., AND MORmSON, R. 1985a. First class persistent procedures. A CM Trans. Program. Lang. Syst. 7, 4 (Oct.), 501-538.
 
13
 
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
 
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
 
21
BALZER, R. M. 1986. Living in the next generation operating system. In In{ormation Processing 86. Elsevier North-Holland, New York.
22
23
 
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
 
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
 
35
 
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
 
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
 
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
 
44
 
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
 
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
49
50
 
51
 
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
54
 
55
 
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
 
58
 
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
66
 
67
GOOUEN, A., AND MESEOUER, J. 1984. EQLOG: Equality, types and generic modules for logic programming. J. Logic Program. 1,179-209.
 
68
69
 
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
 
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
74
 
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
77
 
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
80
81
 
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
 
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
 
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
 
91
KULKARNI, K. G., AND ATKINSON, M. P. 1985. EFDM: Extended Functional Data Model. Brit. Comput. J. 19, 1 (Jan.), 38-45.
92
 
93
 
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
 
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
 
101
MERRETT, T. H. 1977. Relations as programming language elements. Inf. Process. Lett. 6, 1 (Feb.), 29-33.
102
 
103
 
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
 
111
MILNER, R. 1983. A proposal for standard ML. Polymorphism 1, 3 (Dec.).
112
 
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
 
115
 
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
 
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
 
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
 
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
 
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
 
136
SAMET, P. A., ED. 1981. Query Languages: A Unified Approach. Monographs in Informatics. Heyden & Sons, London, England.
137
 
138
 
139
SCHMIDT, J. W., AND MALL, M. 1983. Abstraction mechanisms for database programming. SIG- PLAN Not. (ACM) 18, 6 (June).
140
141
142
143
 
144
SMITH, J. M., FOX, S., AND LANDERS, T. 1983. ADAPLEX: Rationale and Reference Manual 2d ed. Computer Corporation Of America, Cambridge, Mass.
145
146
 
147
148
 
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
 
152
153
 
154
 
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
 
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
 
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  76


REVIEW

"Marvin V. Zelkowitz : Reviewer"

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 lang  more...

Collaborative Colleagues:
Malcolm P. Atkinson: colleagues
O. Peter Buneman: colleagues