© 1983 by British Computer Society
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
A Step Towards the Automatic Maintenance of the Semantic Integrity of Databases
Department of Computer Science, University of Strathclyde, Livingstone Tower, 26 Richmond Street, Glasgow, UK
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.
Received April 1982.
* Department of Computer Science, University of Strathclyde, Livingstone Tower, 26 Richmond Street, Glasgow G1 1XH, UK