While specifications of queries usually are of a declarative nature (since the work of Codd in the early seventies), specifications of transactions mainly are of an operational and descriptive nature. Especially descriptions of complex transactions (such as cascading deletes) tend to be very operational. Declarative specifications of transactions usually suffer from the so-called frame problem or do not have a clear semantics. Often these descriptions turn out to be nondeterministic as well. A problematic consequence is that the semantics of transactions and of several related notions is often unclear or even ambiguous. For a database designer this surely is not a good starting point for building applications. Another tendency we recognize is that the current literature on transactions is mainly driven by technical solutions offered by research prototypes and commercial systems and not so much by advanced specification requirements from a user's or database designer's point of view. In our opinion, the research questions should (also) include what kind of complex transactions (advanced) users would like to specify (and not only what e.g. the expressive power of a given technical solution is), and how these specifications can be translated to implementations in the currently available (advanced) database management systems. And, moreover, was it not our purpose (with the introduction of 4GL's and the like) to become declarative instead of operational, concentrating on the "what" instead of the "how"? This paper offers a general framework for declarative specifications of transactions, including complex ones. Transactions on a state space u are considered as functions from u into u. We also take the influence of static and dynamic constraints on the alleged transactions into account. This leads to the notion of the adaptation of a transaction. Applications of our theory included in this paper are the declarative specification of cascading deletes and the distinction between allowable and available transitions. Basic set theory is our main vehicle.
['Bert de Brock']
Declarative Specifications of Complex Transactions