Referential actions are specialized triggers used to automatically maintain referential integrity. While their local behavior can be grasped easily, it is far from clear what the combined effect of a set of referential actions, i.e., their global semantics should be. For example, different execution orders may lead to ambiguities in determining the final set of updates to be applied. To resolve these problems, we propose an abstract logical framework for rule-based maintenance of referential integrity: First, we identify desirable abstract properties like admissibility of updates which lead to a non-constructive global semantics of referential actions. We obtain a constructive definition by formalizing a set of referential actions RA as logical rules, and show that the declarative semantics of the resulting logic program PRA captures the intended abstract semantics: The well-founded model of PRA yields a unique set of updates, which is a safe, sceptical approximation of the set of all maximal admissible updates; the thud truth-value undefined is assigned to all controversiaI updates. Finally, we show how to obtain a characterization of all maximal admissible subsets of a given set of updates using certain maximal stable models.
The semantics of referential integrity actions are captured using stable models of logic programs with negation in REF .
Referential actions as logical rules
PODS '97
Computer Science