Transaction repair for integrity enforcement
A transaction repair system detects erroneous transactions as they update the database, and for each erroneous transaction, it finds the necessary and sufficient changes to the transaction that would repair it. Detection and repair are the two essential components of semantic: integrity maintenance since detection atone would leave the user with the difficult responsibility of manually correcting and reentering an erroneous transaction. Both detection and repair rely on incremental integrity maintenance techniques. The detection process takes advantage of the integrity of the database before the transaction, and detects only the new errors introduced by the transaction. The repair process takes advantage of the integrity before the transaction and integrity violation after the transaction but before the repair. Such a two-step incremental analysis produces the minimal repair necessary and sufficient to correct the transaction. All necessary and sufficient repairs are generated, for all first order constraints, and by using only substitution with no resolution search. Multiple constraints are repaired in parallel, with no sequencing of constraints, and no possibility of cycles. Extensions to recursive constraints and nondeterministic transactions are provided.
database integrity database constraints constraint enforcement error detection database updates