This paper introduces a general, formal treatment of dynamic constraints, i.e., constraints on the state changes that are allowed in a given state space. Such dynamic constraints can be seen as representations of "real world" constraints in a managerial context. The notions of transition, reversible and irreversible transition, and transition relation will be introduced. The link with Kripke models (for modal logics) is also made explicit. Several (subtle) examples of dynamic constraints will be given. Some important classes of dynamic constraints in a database context will be identified, e.g. various forms of cumulativity, non-decreasing values, constraints on initial and final values, life cycles, changing life cycles, and transition and constant dependencies. Several properties of these dependencies will be treated. For instance, it turns out that functional dependencies can be considered as "degenerated" transition dependencies. Also, the distinction between primary keys and alternate keys is reexamined, from a dynamic point of view.
|Status||Published - 1995|