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