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 ...