Database Reference
In-Depth Information
(d) It became dependent on new or modifi ed components in the new system, such as
triggers and constraints.
The requirements of implementation of the Component Firewall technique are:
(a) Modeling the dependency relations of both old and new schemas, and
(b) Determining the modifi ed, deleted, and new components.
All database components selected by the Component Firewall algorithm are marked
as affected components. Affected module components are determined in order to select the
test cases that traverse them, which make up the results of phase 1.
In Figure 2, we sketch an outline of the Component Firewall building algorithm. This
algorithm takes the old and new schemas and returns a list of components that construct
the Component Firewall.
Module Compare is responsible for performing change identifi cation. It takes the old
and new database schemas and returns two lists of components: one for the modifi ed and
deleted components and the other for the newly added ones. Module Transitive_Closure
takes a list of components and the database schema and returns the transitive closure of the
dependent components. If the dependency relation is modeled using a directed graph, then
the transitive closure could be computed through fi nding the components reachable from
modifi ed components using depth fi rst search.
As an example, we present part of a database application used in a commercial bank
to pay checks drawn on accounts maintained by the bank. The bank keeps track of customer
Figure 2: The Component Firewall algorithm
Component_Firewall ( old_schema, new_schema )
Denote L to be the list of components in the fi rewall.
Denote ML to be the list of modifi ed and deleted components.
Denote NL to be the list of new components.
Compare ( old_schema, new_schema, ML, NL )
For each modifi ed component C in ML
Add C to L
For each component X dependent on C in new_schema
If X belongs to old_schema then
Add X to L
For each new component C in NL
For each dependent component
pendent X on C in new_schema
If X belongs to old_schema then
Add X to L
L := Transitive_Closure ( L , old_schema )
Return L
Search WWH ::




Custom Search