Applications of Finite Differencing to Database Integrity Control and Query/Transaction Optimization

Koenig and Paige have presented a view maintenance strategy based on finite differencing for explicitly storing the values of database views, and updating these values whenever parameters on which they depend are modified. Examples were given that illustrated how this view maintenance strategy could be used to monitor integrity constraints. In this paper, we extend that idea to demonstrate how a DBMS can automatically define its own views that will be maintained efficiently by differencing. Based on this approach, we define a new class of deferred integrity constraints that can be monitored efficiently. In particular we show that the computational cost of each block of constraint monitoring code introduced within the original unmonitored code is bounded by a constant. It is also shown how this approach provides a simple and unified solution to the problem of integrity control and query/ transaction optimization.

[1]  Thomas I. M. Ho Review of On programming: an interim report on the SETL project, intallment II: the SETL language and examples of its use by J. T. Schwartz. New York University, 1973. , 1974, SIGP.

[2]  Paul B. Schneck,et al.  A survey of compiler optimization techniques , 1973, ACM Annual Conference.

[3]  Jay Earley,et al.  High Level Iterators and a Method for Automatically Designing Data Structure Representation , 1976, Comput. Lang..

[4]  Robert E. Tarjan,et al.  Variations on the Common Subexpression Problem , 1980, J. ACM.

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

[6]  Amelia C. Fong Generalized common subexpressions in very high level languages , 1977, POPL.

[7]  Sheldon J. Finkelstein Common expression analysis in database applications , 1982, SIGMOD '82.

[8]  Robert Paige,et al.  Transformational programming: applications to algorithms and systems , 1983, POPL '83.

[9]  Edmund M. Clarke,et al.  Fast Maintenance of Semantic Integrity Assertions Using Redundant Aggregate Data , 1980, VLDB.

[10]  Christoph M. Hoffmann,et al.  Pattern Matching in Trees , 1982, JACM.

[11]  Ken Kennedy,et al.  An algorithm for reduction of operator strength , 1977, Commun. ACM.

[12]  Ronald Fagin,et al.  Extendible hashing—a fast access method for dynamic files , 1979, ACM Trans. Database Syst..

[13]  Jeffrey D. Ullman,et al.  Induction variables in very high level languages , 1976, POPL.

[14]  John Cocke,et al.  Programming languages and their compilers , 1969 .

[15]  Peter P. Chen The entity-relationship model: toward a unified view of data , 1975, VLDB '75.

[16]  Sidney B. Gasser Program optimization , 1972 .

[17]  Robert Paige,et al.  A Transformational Framework for the Automatic Control of Derived Data , 1981, VLDB.

[18]  Amelia C. Fong Inductively computable constructs in very high level languages , 1979, POPL.

[19]  Robert Paige,et al.  Finite Differencing of Computable Expressions , 1982, TOPL.

[20]  Michel Sintzoff Calculating properties of programs by valuations on specific models , 1972 .

[21]  P. Halmos Naive Set Theory , 1961 .

[22]  Michael Hammer,et al.  Efficient monitoring of database assertions , 1978, SIGMOD '78.

[23]  David W. Shipman,et al.  The functional data model and the data languages DAPLEX , 1981, TODS.

[24]  David W. Shipman The functional data model and the data language DAPLEX , 1979, SIGMOD '79.

[25]  Jeffrey D. Ullman,et al.  Principles of Database Systems , 1980 .

[26]  Micha Sharir,et al.  An Automatic Technique for Selection of Data Representations in SETL Programs , 1981, TOPL.

[27]  Matthew S. Hecht,et al.  Flow Analysis of Computer Programs , 1977 .