Database Reference
In-Depth Information
Figure 6. Transition trees of Figure 5 enriched with data types
PK({a}, R n );
4.3.2.2
}
ID_found =
5.4.2
else {
True;
5.4.2.1
Add_attri-
}
bute (a, R n );
5.4.2.2
4.3.4
If (arc (n, a) = IDREF)
If (arc(n,
then
4.3.4.1
a) = ID) then {
Mark_FK(a,
Mark_
R n )
}4.4 If ( ! ID_found) then
4.4.1 ADD_ID(R n )
} // end for line 2
5. For each non terminal node n
N T do {
5.1
PK({a}, R n );
ID_found =
True;
}
5.4.3
If (arc (a, n) =
IDREF) then
R n = Build_R (n);
Ref n = ϕ ;
5.2
Mark_FK({a}, R n );
5.3
ID_Found = False;
}
5.4
For each child a of n
}
5.5
do {
5.4.1 If (a is a leaf marked
with #) then {
5.4.1.1
If (! ID_found) then
5.5.1
If COUNT (Ref n ) ≥ 2
then
Add_attri-
Mark_PK(Ref n , R n );
bute (ID(R a ), R n );
5.4.1.2
else
ADD_ID (R n );
} //end of algorithm
Mark_FK
(ID(R a ), R n );
5.4.1.3
Ref n= Ref n
ID(R a );
This transformation algorithm examines the
Search WWH ::




Custom Search