Abstract
In this paper we attempt to supply answers to questions of the following kinds: How are database Integrity Constraints to be characterised formally? How is the concept of violation of an IC to be understood? What is the epistemic status of an IC? Following an analysis of the standard treatment of ICs, based on a simple example, we recall how Reiter provided a clear definition of the epistemic status of ICs. On Reiter's approach, ICs are implicitly supported by statements that are guaranteed to be true; this property is explicit in the standard view of ICs, and we proceed to show how the standard view of ICs may be refined in the light of Reiter's work. We then supply formal definitions of the properties of Validity and Completeness which have to be enforced using ICs, and we give general formal results concerning techniques which can be used to check these properties. We propose to split the overall information involved in Integrity Checking into three components called DB, SAF and IC. DB represents a description of the world that is not necessarily guaranteed to be correct; SAF represents the information about the world that is guaranteed to be true, and which is used to check violations of Validity or Completeness; and IC defines the parts of DB for which the properties of Validity or Completeness must be enforced