Safety and translation of calculus queries with scalar functions

An important research goal for the 90’s is the development of programming languages which support database functionalities. One approach, illustrated by PASCAL/R [Sch77], is to extend an imperative language (here PASCAL) to incorporate access to a particular database model (here relational). In this approach, it is desirable to permit ae much communication as possible between the underlying programming language and the database access language. In particular, it is essential that scalar functions (i.e., interpreted functions that use only atomic values as inputs and outputs), both system-defined or user-defined, can be used inside database queries. While it is relatively straightforward to provide this in the context of the relational algebra, supporting this in the relational calculus is significantly more difficult. Indeed, the calculus sublanguage of PASCAL/R does not permit the use of scalar functions. We present here the theoretical component for a comprehensive framework for supporting the flexible use of (total) scalar functions in relational calculus queries. Our framework generalizes previous work on the relational calculus to this context. We use the notion of embedded domain independent (called “bounded depth domain independent” in [AB88] ), and generalize the notion of allowed [Top87] to embedded allowed (emallowed). In the full paper it is shown that each emallowed query is embedded domain independent. This is demonstrated using a non-trivial extension of the van Gelder-Topor algorithm [GT91] for translating allowed calculus queries into the relational algebra. In order to

[1]  Jeffrey D. Ullman,et al.  Principles of Database and Knowledge-Base Systems, Volume II , 1988, Principles of computer science series.

[2]  Shahram Ghandeharizadeh,et al.  Implementation of Delayed Updates in Heraclitus , 1992, EDBT.

[3]  R W Topor Theory of Database Queries with Arithmetic Relations , 1990 .

[4]  Richard Hull,et al.  Database Programming with Delayed Updates , 1991, DBPL.

[5]  Philip A. Bernstein,et al.  Computational problems related to the design of normal form relational schemas , 1979, TODS.

[6]  Jeffrey D. Uuman Principles of database and knowledge- base systems , 1989 .

[7]  David Maier,et al.  The Theory of Relational Databases , 1983 .

[8]  Robert Demolombe Syntactical characterization of a subset of domain-independent formulas , 1992, JACM.

[9]  Catriel Beeri,et al.  Functional and predictive programming in OODB's , 1992, PODS '92.

[10]  Herbert B. Enderton,et al.  A mathematical introduction to logic , 1972 .

[11]  Richard Hull,et al.  Language Constructs for Programming Active Databases , 1991, VLDB.

[12]  Catriel Beeri,et al.  On the power of languages for manipulation of complex objects , 1987, VLDB 1987.

[13]  Abraham Silberschatz,et al.  Safety of recursive Horn clauses with infinite relations , 1987, PODS '87.

[14]  Shahram Ghandeharizadeh,et al.  On Implementing a Language for Specifying Active Database Execution Models , 1993, VLDB.

[15]  Umeshwar Dayal,et al.  Queries and Views in an Object-Oriented Data Model , 1989, DBPL.

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

[17]  Rodney W. Topor,et al.  Domain-Independent Formulas and Databases , 1987, Theor. Comput. Sci..

[18]  Rodney W. Topor,et al.  Safety and translation of relational calculus , 1991, TODS.