Maintenance of Recursive Views

DEFINITION A view is a derived or virtual table that is typically defined by a query, providing an abstraction or an alternate perspective of the data that allows for more intuitive query specifications using these views. Each reference to the view name results in the retrieval of the view definition and the recomputation of the view to answer the query in which the view was referenced. When views are materialized, the tuples of the computed view are stored in the database with appropriate index structures so that subsequent access to the view can efficiently retrieve tuples to avoid the cost of recomputing the entire view on subsequent references to the view. However, the materialized view must be updated if any relation that it depends on has changed. Rather than recomputing the entire view on a change, an incremental view maintenance algorithm uses the change to incrementally compute updates to the materialized view in response to that change. A recursive view is a virtual table definition that depends on itself. A canonical example of a recursive view is the transitive closure of a relationship stored in the database that can be modeled as directed edges in a graph. The transitive closure essentially determines the reachability relationship between the nodes in the graph. Typical examples of transitive closure include common hierarchies such as employee-supervisor, bill-of-materials (parts-subparts), ancestor, and course prerequisites. The incremental view maintenance algorithms for the maintenance of recursive views have additional challenges posed by the recursive nature of the view definition.

[1]  Jeffrey D. Ullman,et al.  Principles Of Database And Knowledge-Base Systems , 1979 .

[2]  Suzanne W. Dietrich,et al.  On the completeness of naive memoing in Prolog , 1997, New Generation Computing.

[3]  John V. Harrison,et al.  Maintenance of Materialized Views in a Deductive Database: An Update Propagation Approach , 1992, Workshop on Deductive Databases, JICSLP.

[4]  Henning Christiansen,et al.  Efficient Integrity Checking for Databases with Recursive Views , 2005, ADBIS.

[5]  David Maier,et al.  Magic sets and other strange ways to implement logic programs (extended abstract) , 1985, PODS '86.

[6]  Suzanne W. Dietrich,et al.  Extension Tables: Memo Relations in Logic Programming , 1987, SLP.

[7]  Jeffrey D. Ullman,et al.  A survey of deductive database systems , 1995, J. Log. Program..

[8]  Antoni Olivé,et al.  A Method for Change Computation in Deductive Databases , 1992, VLDB.

[9]  V. S. Subrahmanian,et al.  Maintaining views incrementally , 1993, SIGMOD Conference.

[10]  Ashish Gupta,et al.  Materialized views: techniques, implementations, and applications , 1999 .

[11]  Jianwen Su,et al.  Incremental maintenance of recursive views using relational calculus/SQL , 2000, SGMD.

[12]  Volker Küchenhoff On the Efficient Computation of the Difference Between Concecutive Database States , 1991, DOOD.

[13]  Raghu Ramakrishnan Applications of Logic Databases , 1995, The Kluwer International Series in Engineering and Computer Science 296.

[14]  Jennifer Widom,et al.  Deriving Production Rules for Incremental View Maintenance , 1991, VLDB.

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