A Step Towards the Automatic Maintenance of the Semantic Integrity of Databases

Richard Frost · The Computer Journal · 1983

A database should be an accurate model of that part of the universe which it represents. However, this is rarely achieved. Errors in the data occur for a variety of reasons. Various techniques have been developed to reduce such errors and/or to detect them when they occur. Some of these techniques are concerned with checking that the data is ‘sensible’, i.e. that is complies with certain constraints which are derived from our knowledge of the semantics of that part of the universe which is represented by the data. Such constraints are called semantic integrity constraints; an example is: ‘no-one may be their own father’. Ideally, a database implementor should be able to specify a set of semantic constraints and then let the system enforce them automatically. Some progress has been made towards this ideal. However, the constraint definition languages which have been developed tend to by syntactically complex, and the enforcement of constraints is often carried out in an ad hoc manner. An alternative approach is proposed in this paper. We present a simple constraint definition language, SCHEMAL, and show how constraints expressed in it can be enforced automatically. We describe in detail the algorithm which is used to enforce SCHEMAL constraints. The methods has been fully implemented at the University of Strathclyde.

Read the paper · More papers on PaperTik