4.1 Pengantar Normalisasi
Normalisasi
merupakan sebuah teknik dalam logical desain sebuah basis data yang
mengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi
yang baik (tanpa redudansi).
Normalisasi adalah proses pembentukan
struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.
4.1.1 Proses Normalisasi
a.
Data diuraikan dalam
bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke
beberapa tingkat.
b.
Apabila tabel yang
diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah
menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang
optimal.
c.
Tahap Normalisasi
dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF)
d.
Biasanya hanya sampai
pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel
yang berkualitas baik.Urutan: 1NF, 2NF, 3NF, BCNF, 4NF, 5NF.
1.2 Bentuk Normal Pertama (1NF)
Aturan :
a.
Tidak adanya atribut
multi-value, atribut komposit atau kombinasinya.
b.
Mendefinisikan
atribut kunci.
c.
Setiap atribut dalam
tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi).
Perhatikan
contoh berikut:
1.3 Bentuk Normal Kedua (2NF)
Aturan :
a.
Sudah
memenuhi dalam bentuk normal kesatu (1NF)
b.
Semua atribut bukan
kunci hanya boleh tergantung (functional dependency) pada atribut kunci.
c.
Jika
ada ketergantungan parsial maka atribut tersebut harus dipisah
pada tabel yang lain.
Gambar 4.2 2NF
1.4 Bentuk Normal Ketiga (3NF)
Aturan :
a.
Sudah berada dalam
bentuk normal kedua (2NF)
b.
Tidak ada
ketergantungan transitif (dimana atribut bukan kunci tergantung pada atribut
bukan kunci lainnya).
Perhatikan
contoh berikut:
Gambar 4.3 3NF
1.5 Bentuk Normal Boyce-Kodd (BCNF)
BCNF ditemukan oleh R.F. Boyce dan E.F.
Codd, Codd memperkenalkan normalisasi relasi, yaitu relasi normal tidak
mempunyai kelompokkelompok data berulang. Proses normalisasi digunakan untuk
menghindari redundansi. Dalam perspektif normalisasi, sebuah basis data dapat
dikatakan baik, jika setiap tabel yang menjadi unsur pembentuk basis data
tersebut juga telah berada dalam keadaan baik atau normal. Selanjutnya, sebuah
tabel dapat dikategorikan baik (efisien) atau normal, jika telah memenuhi 3
(tiga) kriteria berikut:
1.
Jika ada dekomposisi (penguraian) tabel, maka
dekomposisinya harus dijamin aman (LosslessJoin Decomposition).
2.
Terpeliharanya ketergantungan fungsional pada
saat perubahan data (Dependency Preservation).
3.
Tidak
melanggar BoyceCodd Normal Form (BCNF)
Sebuah relasi dalam bentuk Boyce-Codd Normal Form (BCNF)
jika dan hanya jika setiap determinan adalah candidate key.
Boyce-Codd Normal Form adalah tipe khusus dari bentuk normal ketiga. Sebuah
relasi dalam BCNF adalah juga bentuk dalam 3NF, tetapi relasi dalam 3NF mungkin
tidak dalam BCNF.
Dalam Date (2004), didefinisikan bahwa sebuah relvar
(table) berada dalam BCNF jika dan hanya bila setiap FD yang tidak sepele,
tidak dapat dikurangi sebelah kiri memiliki sebuah kunci kandidat sebagai
determinannya.
Dalam Hariyanto (2004), ketentuan BCNF tercapai
apabila masingmasing atribut utama bergantung fungsional penuh
pada masingmasing kunci di mana kunci tersebut bukan
bagiannya.
Dalam Philip (2007), dinyatakan bahwa sebuah
relasi berada dalam BCNF jika, dan hanya jika, setiap kunci kandidat adalah
sebuah determinan.
Perbedaan istilah yang digunakan dalam satu referensi dengan yang
lainnya dapat menimbulkan kesan dan makna yang berbeda pada pembaca, baik
berupa kemudahan, kesulitan, maupun kebingungan. Dengan keberadaan tiga kemungkinan
tersebut, maka kajian terhadap penggunaan istilah dalam suatu referensi sangat
diperlukan. Begitu juga, kondisi di mana referensi mengenai BCNF masih banyak
menggunakan bahasa Inggris, maka ada kemungkinan referensi bahasa Indonesia
tidak betulbetul merepresentasikan makna referensi aslinya yang mana bahasa
Inggris dan bahasa Indonesia memiliki karakteristik bahasa yang cukup berbeda.
4.5.1 Syarat BCNF
BCNF
mempunyai paksaan yg lebih kuat dari bentuk normal ketiga. Adapun Syarat untuk
menjadi BCNF, yaitu :
1.
Harus sudah bentuk 1NF, 2NF, 3NF dan relasi pada BCNF yaitu
mengoptimalkan jika setiap determinan antara atribut-atribut relasi adalah
kunci relasi.
2.
Relasi harus dalam bentuk normal ketiga dan setiap atribut harus
bergantung fungsi pada atribut superkey.
3.
Tabel harus mempunyai Functional Dependency dengan
notasi X รจ Y ; X adalah superkey pada
tabel tersebut
4.
Semua atribute ketergantungan multivalue adalah juga
ketergantungan fungsional.
1.5.2 Contoh BCNF
Gambar5.2 2NF
Gambar 5.3 3 NF
Tidak ada komentar:
Posting Komentar