A Stack-Based Approach to Query Languages

Scoping, naming and binding are central concepts in the definition and understanding of programming languages. With the introduction of sophisticated data models, these issues become important for query languages as well. Additionally, the goal of integrating query and programming languages requires a common basis for their operational semantics. We offer here an approach to the definition of the operational semantics of query languages based on an abstract machine, in which names, their bindings, and scopes defined by query and data structure are central. The machine has own simple data model for its store, and has a stack for dealing with scopes. We argue for the generality of the approach and illustrate it by defining the semantics of many query language primitives. Finally, we briefly consider how assignment and procedures can be neatly added.

[1]  Michael Stonebraker,et al.  The Implementation of Postgres , 1990, IEEE Trans. Knowl. Data Eng..

[2]  Michael Stonebraker,et al.  "The Committee for Advanced DBMS Function": Third Generation Data Base System Manifesto , 1990, SIGMOD Conference.

[3]  Michael Kifer,et al.  F-logic: a higher-order language for reasoning about objects, inheritance, and scheme , 1989, SIGMOD '89.

[4]  Renzo Orsini,et al.  GALILEO: a strongly-typed, interactive conceptual language , 1985, TODS.

[5]  Michael Stonebraker,et al.  Third-generation database system manifesto , 1990, SGMD.

[6]  Ronald Morrison,et al.  A generic persistent object store , 1992, Softw. Eng. J..

[7]  Florian Matthes,et al.  The Database Programming Language DBPL Rationale and Report , 1992 .

[8]  Peter Buneman,et al.  Database programming in Machiavelli—a polymorphic language with static type inference , 1989, SIGMOD '89.

[9]  Joachim W. Schmidt,et al.  Some high-level language constructs for data of type relation , 1977, SIGMOD '77.

[10]  J. Eliot B. Moss,et al.  Design of the Mneme persistent object store , 1990, TOIS.

[11]  John Mylopoulos,et al.  A language facility for designing database-intensive applications , 1989 .

[12]  Kazimierz Subieta,et al.  LOQIS: The Object-Oriented Database Programming System , 1990, East/West Database Workshop.

[13]  KiferMichael,et al.  F-logic: a higher-order language for reasoning about objects, inheritance, and scheme , 1989 .

[14]  Catriel Beeri,et al.  Formal Models for Object Oriented Databases , 1989, DOOD.

[15]  John Mylopoulos,et al.  A language facility for designing database-intensive applications , 1980, TODS.

[16]  Michael Kifer,et al.  Querying object-oriented databases , 1992, SIGMOD '92.