Declarative Specification and Evaluation of Database Updates

An update specifies not only assumptions that are required for the current database, but also assertions that will hold in a new database. Queries are special cases of updates that contain assertions about only the current database. Inspired by connectives and quantifiers in queries, we develop an update calculus that extends relational calculus with assertions about a new database and a new connective, namely sequential composition. An update algebra is also presented that associates with each tuple in an update relation a transaction — a canonical form of updates. We show that update calculus and algebra are equivalent, and both support expressive set-based and nondeterministic updates. Finally, we introduce a formal notion of answers of updates with respect to a database, and develop a sound and complete algorithm for update evaluation.

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

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

[3]  David Harel,et al.  First-Order Dynamic Logic , 1979, Lecture Notes in Computer Science.

[4]  Serge Abiteboul,et al.  New hope on data models and types: report of an NSF-INRIA workshop , 1990, SGMD.

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

[6]  David J. DeWitt,et al.  The Object-Oriented Database System Manifesto , 1994, Building an Object-Oriented Database System, The Story of O2.

[7]  François Banciihon Object-oriented database systems , 1988, PODS 1988.

[8]  Serge Abiteboul,et al.  Procedural and declarative database update languages , 1988, PODS '88.

[9]  DelobelClaude,et al.  New hope on data models and types , 1990 .

[10]  Raymond Reiter,et al.  A sound and sometimes complete query evaluation algorithm for relational databases with null values , 1986, JACM.

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

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

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

[14]  Serge Abiteboul,et al.  A translation language complete for database update and specification , 1987, PODS '87.

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