A formal treatment of updates and errors in a relational database

Abstract

The concept of an update is external to the classical relational model. When an update is made, the old information is lost at the logical level, and such information may at best be stored in the form of an update log. As a result, the classical relational model is incapable of supporting a query language for updates. We consider two orthogonal concepts of time: the real world time, which captures the changes in the real world, and the transaction time, which is the time when some knowledge of the history of the real world is added to the database. We give a temporal relational model which timestamps the values of attributes with two dimensional timestamps. In this model a formal semantics of updates is given naturally, and the model may be used for querying for the nature of updates and errors. We introduce the concept of a user domain, which is a subset of the universe of time. The user domains support a hierarchy of users, giving each user an appropriate interface. A user domain may be two dimensional, one dimensional, or zero dimensional. The user with the zero dimensional user domain sees the classical snapshot database, and the classical relational algebra as the user interface. Thus, our framework is literally a consistent extension of the classical relational model. One use of our model is that it can be used to impose a logical structure upon the update log: we show that the update log can essentially be recovered from our model, and thus there is no loss of essential information if the update log is discarded. This work is a promising application of temporal databases to mainstream databases.</p

    Similar works