Automatic enforcement of semantic integrity assertions in a database system
An implementation of an algorithm for automatic enforcement of integrity assertions on an Entity Category Relationship (ECR) database is presented. A transaction is the basic unit of integrity maintenance. The method of enforcing semantic integrity operates on transactions, indivisible sequences of insert, delete, and modify operations. Transactions are specified in the GORDAS language. The method consists of two parts - (1) At compile time, the transaction graph will be actually constructed, and any DLT-generated operations are inserted among the original operations of the transaction. (2) At run time, the checks are executed, and they involve retrieval of information from the database, but no modification of the values contained in it; only after a transaction passes all of its checks will it be allowed to modify database values. The transaction processor has all necessary checks permanently built in. If a semantic integrity constraint changes, recompilation of some stored transaction will be necessary, but it will not need rewriting.