![]() 29
2.3
Algoritma
Normalisasi
BCNF
dan
4NF
2.3.1
Algoritma
Normalisasi
BCNF
Algoritma yang dipakai
untuk
menghasilkan bentuk
BCNF
menurut
Elmasri
(2000, p509) :
Set D := {R};
While there
is a
relation
schema Q in D that
is not in BCNF do
{
choose a relation
schema Q in D that
is not in BCNF;
find a
functional dependency X
Y in Q that
violates BCNF;
replace Q in D by two relation
schemas (Q Y) and (X U Y);
}
Keterangan :
untuk
melakukan testing bahwa
suatu relation
schema dalam
bentuk BCNF atau tidak dapat dilakukan dengan 2 cara :
a.
Setiap
functional dependency X -> Y di Q, apabila
X
bukan berisi
semua
attribute
di Q,
maka
X
-> Y
menyalahi
BCNF karena
X
bukan
superkey
dari Q
b.
Jika
suatu
relational
schema
Q
menyalahi
BCNF
,
terdapat
sepasang
attribute
A
dan
B
di
Q
berupa
{Q
{A,B}}
->
A.
Dengan
melihat
closure
{Q
{A,B}}*
untuk
setiap {A,B}
dari Q
dan
memeriksa setiap
closure
terdapat
A
(atau
B)
maka
kita
dapat
memperkirakan
apakah
Q
pada BCNF.
Asumsi : tabel-tabel masukan sudah dalam bentuk 3NF. Adapun algoritma
untuk menghasilkan bentuk 1NF - 3NF ::
|