A novel execution model for rule application in ac- tive databases
is developed and applied to the problem of updating derived data in
the context of semantic, object-based database models. The
execu-tion model is based on the use of “limited ambiguity rules”
(LARs), which permit disjunction in rule actions. The execution
model essentially performs a breadth-first exploration of
alternative extensions of a user-proposed update, and returns all
“completions” of that update, where a “completion” is defined to be
an extension of a user-proposed update that satisfies a family of
natural conditions (e.g., that no constraints are violated). Given
a semantic, object-based database model schema, integrity
constraints as well asspecifications of derived classes and
attributes are compiled into a family of LARS. A formal proof of the
correctness of the system is described here.
Active databases are an emerging technology permitting the
specification of database behavior in a largely declarative fashion
[4, 16, 18].
We develop here a new paradigm for active
databases that permits “locally ambiguous rules” (LARS), i.e.,
rules with disjunction in their actions.
The novel execution model … provides for the automated exploration
of alternative extensions for user-proposed updates. This short paper
describes an application of the LAR paradigm to the problem of
supporting updates to derived data as arises in semantic database
models [11, 12]
forward propagation of updates
In the traditional approach to modification, base data is updated
explicitly by users, which may in turn cause updates to the derived
data;
Calls for automatic backwards propagation of updates.
2 Motivating Example and Discussion
For example, suppose that the user proposes the update
Δuser=
Application of this delta yields a database state that violates
integrity constraints and derivation specifications; for this reason
we view Δuser incompletely specified.
Using the simplistic example just given, we are now able to summarize
the contributions of the research described here:
the specification of a novel execution model for active databases,
that permits locally ambiguous rules, and constructs a dag
corresponding to alternative partial extensions of a user-proposed
update;
the specification of a mechanism for compiling GSDM schemas
(including both derivation specifications and constraints into rule
bases consisting of locally ambiguous rules;
4 Correct Update Propagation
This section presents the definition of “completion”, that
captures an intuitively natural notion of “correct” propagation of a
user-requested update.
A delta Δ is consistent if it satisfies all of the following
(a) Each insert or delete is type-correct.
(b) There is no pair +(x,y,z) and -(x,y,z) in Δ. (i.e., Δ cannot
request that the same triplet be inserted and deleted.)
(c) There is no error or blockage triplet in Δ.
A consistent delta Δ is valid for DB if apply(DB, Δ) is a state, i.e.,
if it satisfies the derivation specifications and (explicit and
implicit) constraints of S.
A user update is simply a delta. An extension of a user update
Δuser, is a delta Δ such that Δuser ⊂ Δ.
A crucial issue is: what extensions of a user update are “appropriate”
or “permissible”.
A completion of a user update Δuser is a consistent and
valid extension of Δuser that satisfies an additional
technical condition, called the Principle of Down-Up Propagation.
A completion Δ of Δuser for DB is minimal if
there is no completion Δ’ of Δuser for DB such that Δ’ ⊂ Δ and Δ’≠
Δ.
a correct propagation of a user update Δuser
is a minimal completion of Δuser.
Execution Model for LAR application
illustrated in Figure (above)…Execution of the system will lead to
the construction of a rooted directed acyclic graph, called the
Execution DAG, where each node is labeled by a delta that extends
Δuser.The algorithm is essentially a straightforward
construction of the Execution DAG, as dictated by the rules of R and
their ordering.
If there is only one minimal completion, the execution concludes by
outputting this completion and applying it. Otherwise, the execution
reports ambiguity, inconsistency, or that it was unable to make a
determination. In the case of ambiguity, the system allows the user to
choose between the different minimal completions found.
A note on complexity
…
6 Related Research
Active databases[4, 16, 18]
Speaking loosely, the work here extends the execution models of [4].
Compilation into active database rules [4, 19]
These and other works advocate the development of compilers to
construct rule bases that capture schema properties.
reference
[4] S. Ceri and J. Widom, Deriving Production Rules for Constraint
Maintenance. In Proc. Intl. Con& on Very Large Data
Bases, 1990. local
[19] M. Stonebraker. The Integration of Rule Systems and Database
Systems. In IEEE Trans. on Knowledge and Data Engineering, vol. 4,
no. 5,
October 1992. local