Programming languages for relational database systems

ion The concept of data abstraction has received much attention in the programming language community. Recently, there has been interest in the use of data abstraction with respect to data base systems. 18 Many data base systems support abstraction related facilities such as views, integrity constraints and triggers. 3,12,19,33 For example, a view provides a form of abstraction in that the user can construct queries for relations which do not actually exist but are materialized from a number of relations. If the organization of the relations is changed, the view can be maintained by redefining it in terms of this new organization. In addition, some authors have proposed mechanisms for specifying higher level operations on data bases (such as "hire" and "fire").18 Although some systems offer these abstraction * Requests can be changed at run-time (e.g., in EQUEL relation and domain names can change dynamically). From the collection of the Computer History Museum (www.computerhistory.org) facilities, they have not yet integrated them with their counterparts in data abstraction from programming languages. * AN INTEGRATED APPROACH We will now consider the integration of data base objects and operations into a programming language. We will not attempt to give a complete language proposal here. Instead, we shall illustrate some of the benefits of this approach. Our discussion is divided into four areas: type system, data base operations, compilation, and abstraction.

[1]  Joachim W. Schmidt,et al.  Type Concepts for Database Definition , 1978, JCDKB.

[2]  Mark N. Wegman,et al.  A Fast and Usually Linear Algorithm for Global Flow Analysis , 1976, J. ACM.

[3]  Ben Wegbreit,et al.  The treatment of data types in EL1 , 1974, CACM.

[4]  Tony Hoare,et al.  Notes on Data Structuring , 1972 .

[5]  Jerome A. Feldman,et al.  Recent developments in SAIL: an ALGOL-based language for artificial intelligence , 1972, AFIPS '72 (Fall, part II).

[6]  Michael Hammer,et al.  Specifying queries as relational expressions: the SQUARE data sublanguage , 1975, CACM.

[7]  Jacob T. Schwartz,et al.  On programming : an interim report on the SETL Project , 1973 .

[8]  M. V. Wilkes,et al.  The Art of Computer Programming, Volume 3, Sorting and Searching , 1974 .

[9]  Michael Stonebraker,et al.  Embedding a relational data sublanguage in a general purpose programming language , 1976, Conference on Data: Abstraction, Definition and Structure.

[10]  Narain H. Gehani,et al.  Some ideas on data types in high-level languages , 1976, CACM.

[11]  Ben Wegbreit,et al.  Multiple evaluators in an extensible programming system , 1972, AFIPS '72 (Fall, part II).

[12]  Michael Stonebraker,et al.  The design and implementation of INGRES , 1976, TODS.

[13]  Dennis McLeod,et al.  A framework for data base semantic integrity , 1976, ICSE '76.

[14]  E. F. CODD,et al.  A relational model of data for large shared data banks , 1970, CACM.

[15]  Michael Stonebraker,et al.  Observations on Data Manipulation Languages and Their Embedding in General Purpose Programming Languages , 1977, VLDB.

[16]  Craig Schaffert,et al.  Abstraction mechanisms in CLU , 1977 .

[17]  E. F. Codd,et al.  A data base sublanguage founded on the relational calculus , 1971, SIGFIDET '71.

[18]  Mary Shaw,et al.  An introduction to the construction and verification of Alphard programs , 1976, ICSE '76.

[19]  Michael Stonebraker,et al.  INGRES: a relational data base system , 1975, AFIPS '75.

[20]  E. F. Codd,et al.  The relational and network approaches: Comparison of the application programming interfaces , 1975, SIGFIDET '74.

[21]  Joachim W. Schmidt,et al.  Some high level language constructs for data of type relation , 1977, TODS.

[22]  Michael Stonebraker,et al.  Implementation of integrity constraints and views by query modification , 1975, SIGMOD '75.

[23]  Irving L. Traiger,et al.  System R: A Relational Approach to Data Base Management , 1976, Berkeley Workshop.

[24]  Kapali P. Eswaran Aspects of a trigger subsystem in an integrated database system , 1976, ICSE '76.

[25]  James G. Mitchell,et al.  On the problem of uniform references to data structures , 1975, IEEE Transactions on Software Engineering.

[26]  Michael Hammer Data abstractions for data bases , 1976, SIGMOD 1976.