Temporal Integrity Constraints Jef Wijsen University of Mons-Hainaut SYNONYMS Dynamic integrity constraints DEFINITION Temporal integrity constraints are integrity constraints formulated over temporal databases. They can express dynamic properties by referring to data valid at different time points. This is to be contrasted with databases that do not store past or future information: if integrity constraints can only refer to data valid at the current time, they can only express static properties. Languages for expressing temporal integrity constraints extend first-order logic with explicit timestamps or with temporal connectives. An important question is how to check and enforce such temporal integrity constraints efficiently. HISTORICAL BACKGROUND The use of first-order temporal logic for expressing temporal integrity constraints dates back to the early eighties (see for example [7]). Since the late eighties, progress has been made in the problem of checking temporal integrity [9, 2, 11] without having to store the entire database history. This entry deals with general temporal integrity constraints. The entry Temporal Dependencies deals with temporal variants of specific constraints, in particular with temporal extensions of functional dependencies. SCIENTIFIC FUNDAMENTALS Integrity constraints, whether they are temporal or not, are an important component of each database schema. They express properties that, ideally, must be satisfied by the stored data at all times. If a database satisfies all the integrity constraints, it is called consistent . Integrity constraints are commonly expressed in a declarative way using logic. Declarative integrity constraints generally do not specify how to keep the database consistent when data is inserted, deleted, and modified. An important task is to develop efficient procedures for checking and enforcing such constraints. Temporal databases store past, current, and future information by associating time to database facts. An integrity constraint can be called “temporal” if it is expressed over a temporal database. By relating facts valid at different points in time, temporal integrity constraints can put restrictions on how the data can change over time. This is to be contrasted with databases that do not store past or future facts: if integrity constraints can only refer to a single database state, they cannot capture time-varying properties of data. The following section deals with languages for expressing temporal integrity. Section 2 discusses techniques for checking and enforcing temporal integrity constraints. 1 Defining Temporal Integrity While temporal integrity constraints can in principle be expressed as Boolean queries in whichever temporal query language, it turns out that temporal logic on timepoint-stamped data is the prevailing formalism for defining and studying temporal integrity. Section 1.1 illustrates several types of temporal constraints. Section 1.2 deals with several notions of temporal constraint satisfaction. Sections 1.3 and 1.4 contain considerations on expressiveness