30
Set G :=
F
Replace each
functional dependency X ->
{A1,A2,
,An}
in G by the n functional
dependencies X ->
A1,
X ->
A2,
,
X
->
An.
For
each
functional dependency X ->
A
in G
For
each attribute
B
that
is an element of X
If ((G {X->A}) U {(X {B}) ->
A})
is equivalent to G
Then replace
X
->
A
with (X {B}) ->
A
in G
For
each remaining
functional dependency X ->
A
in G
If (G {X A})
is equivalent to G
Then remove X ->
A
from G
For
each
left
hand
side
X
of a
functional
dependency that appears
in
G
create
a
relation
schema
in D
with attributes
{
X
U
{A1}
U
{A2}
U
{An}},
where X ->
A1 , X ->
A2,
, X ->
Ak are
only dependencies
in G
with X as
left-hand-side (
X
is the key of this relation
).
If none of
the relation
schemas
in
D
contains
a
key of R, then create
one
more
relation
schema in D that contains attributes that
form a
key of R.
2.3.2
Algoritma
Normalisasi
4NF
Algoritma
yang
dipakai
untuk
menghasilkan
bentuk
4NF
menurut
Elmasri (2000, p519) :
Set D := {R};
While there
is a
relation
schema Q in D that
is not in 4NF do
{
choose a relation
schema Q in D that
is not in 4NF;
|