Declarative updates of relational databases

This article presents a declarative language, called update calculus, of relational database updates. A formula in update calculus involves conditions for the current database, as well as assertions about a new database. Logical connectives and quantifiers become constructors of complex updates, offering flexible specifications of database transformations. Update calculus can express all nondeterministic database transformations that are polynomial time. For set-at-a-time evaluation of updates, we present a corresponding update algebra. Existing techniques of query processing can be incorporated into update evaluation. We show that updates in update calculus can be translated into expressions in update algebra and vice versa.

[1]  Shamim A. Naqvi,et al.  Database updates in logic programming , 1988, PODS.

[2]  Weidong Chen,et al.  Declarative Specification and Evaluation of Database Updates , 1991, DOOD.

[3]  Umeshwar Dayal,et al.  On the correct translation of update operations on relational views , 1982, TODS.

[4]  Moshe Y. Vardi The complexity of relational query languages (Extended Abstract) , 1982, STOC '82.

[5]  Arthur M. Keller,et al.  Algorithms for translating view updates to database updates for views involving selections, projections, and joins , 1985, PODS.

[6]  Abraham Silberschatz,et al.  Database System Concepts , 1980 .

[7]  Marianne Winslett,et al.  Updating logical databases , 1990, Cambridge tracts in theoretical computer science.

[8]  Nicolas Spyratos,et al.  Update semantics of relational views , 1981, TODS.

[9]  Anthony J. Bonner Hypothetical Datalog: Complexity and Expressibility , 1990, Theor. Comput. Sci..

[10]  Marianne Winslett,et al.  Updates with Equality: Beyond the Herbrand Universe Assumption , 1991, ISMIS.

[11]  Michael Kifer,et al.  Transaction Logic Programming , 1993, ICLP.

[12]  François Bry,et al.  Intensional Updates: Abduction via Deduction , 1990, ICLP.

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

[14]  David Scott Warren,et al.  A Logic-based Language for Database Updates , 1988, Foundations of Deductive Databases and Logic Programming..

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

[16]  Paolo Mancarella,et al.  Database Updates through Abduction , 1990, VLDB.

[17]  VianuVictor,et al.  Simplification rules and complete axiomatization for relational update transactions , 1991 .

[18]  Victor Vianu,et al.  Procedural Languages for Database Queries and Updates , 1990, J. Comput. Syst. Sci..

[19]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[20]  Shamim A. Naqvi,et al.  A Logical Language for Data and Knowledge Bases , 1989 .

[21]  Ashok K. Chandra Theory of database queries , 1988, PODS '88.

[22]  Victor Vianu,et al.  Simplification rules and complete axiomatization for relational update transactions , 1991, TODS.

[23]  Matthias Jarke,et al.  Query Optimization in Database Systems , 1984, CSUR.

[24]  Hirofumi Katsuno,et al.  On the Difference between Updating a Knowledge Base and Revising It , 1991, KR.

[25]  David Scott Warren,et al.  Database Updates in Pure Prolog , 1984, FGCS.

[26]  Alfred V. Aho,et al.  Universality of data retrieval languages , 1979, POPL.

[27]  Ronald Fagin,et al.  On the semantics of updates in databases , 1983, PODS.

[28]  Serge Abiteboul,et al.  Datalog Extensions for Database Queries and Updates , 1991, J. Comput. Syst. Sci..