NORMALISASI
1.1 Pengantar Normalisasi
Normalisasi database merupakan suatu pendekatan sistematis untuk meminimalkan redudansi data pada suatu database agar database tersebut dapat bekerja dengan optimal. jika anda database administratir ketika terjadi sesuatu pada databasee seperti penurunn kinerja, mungkin anda akan ditanya apakah database tersebut telah di normalisasikan .
Tujuan Normalisasi Database
Tujuan normalisasi database
adalah untuk menghilangkan dan mengurangi redudansi data dan tujuan yang kedua
adalah memastikan dependensi data (Data berada pada tabel yang tepat). Jika
data dalam database tersebut belum di normalisasi maka akan terjadi 3
kemungkinan yang akan merugikan sistem secara keseluruhan.
INSERT Anomali: Situasi dimana
tidak memungkinkan memasukkan beberapa jenis data secara langsung di database.
DELETE Anomali: Penghapusan
data yang tidak sesuai dengan yang diharapkan, artinya data yang harusnya tidak
terhapus mungkin ikut terhapus.
UPDATE Anomali: Situasi dimana
nilai yang diubah menyebabkan inkonsistensi database, dalam artian data yang
diubah tidak sesuai dengan yang diperintahkan atau yang diinginkan.
1.2
Bentuk normal pertama (1NF)
Bentuk
normalisasi 1NF ini mengelompokkan beberapa tipe data atau kelompok data yang
sejenis agar dapat dipisahkan sehingga anomali data dapat di atasi. Contoh
adalah ketika kita ingin menghapus, mengupdate, atau menambahkan data peminjam,
maka kita tidak bersinggungan dengan data buku atau data penerbit. Sehingga
inkonsistensi data dapat mulai di jaga.
Syarat normal ke satu (1-NF) antara lain:
1. setiap data dibentuk dalam flat file, data
dibentuk dalam satu record demi satu record nilai dari field berupa
“atomic value”.
2. tidak ada set atribute yang berulang atau
bernilai ganda.
3. telah ditentukannya primary key untuk tabel /
relasi tersebut.
4. tiapatribut hanya memiliki satu pengertian.
Langkah pertama yang dilakukan
pada Tabel Pelanggan Biaya tersebut adalah menghilangkan elemen data yang
berulang dengan data-data Pelanggan yang sesuai pada setiap baris. Hasil
dari tabel yang telah memenuhi bentuk normal pertama dapat dilihat pada
kita dapat mengidentifikasi primary key untuk relasi Pelanggan_Biaya yang
masih memiliki composite key (No_Pelanggan, No_Property). Pada kasus ini
kita akan memperoleh primary key yang bersifat composite key. Relasi
Pelanggan_Biaya dapat didefinisikan sebagai berikut. Pelanggan_Biaya
=(No_Pelanggan, No_Property, Nama, Alamat_Property, Tgl_Pinjam, Tgl_Selesai,
Biaya,No_Pemilik, Nama_Pemilik)
Gambar 4 2 Bentuk nnormalisasi 1 NF
1.3 Bentuk normal kedua (2NF)
Bentuk kedua ini adalah tidak
boleh ada field yang berhubungan dengan field lainnya secara fungsional. Contoh
Judul Buku tergantung dengan id_Buku sehingga dalam bentuk 2NF judul buku dapat
di hilangkan karena telah memiliki tabel master tersendiri.
Syarat normal kedua (2-NF) sebagai berikut.
1.
Bentuk data telah memenuhi kriteria bentuk normal kesatu.
2.
Atribute bukan kunci (non-key) haruslah memiliki ketergantungan
fungsional sepenuhnya (fully functional dependency) pada kunci utama /
primary key.
Gambar 4 3 bentuk normalisasi 2 NF
4.4 Bentuk normal ketiga (3NF)
Normalisasi
database dalam bentuk 3NF bertujuan untuk menghilangkan seluruh atribut atau
field yang tidak berhubungan dengan primary key. Dengan demikian tidak ada
ketergantungan transitif pada setiap kandidat key.
Syarat normal ketiga (Third
Normal Form / 3 NF) sebagai berikut.
1.
Bentuk data telah memenuhi kriteria bentuk normal kedua.
2.
Atribute bukan kunci (non-key) harus tidak memiliki ketergantungan transitif,
dengan kata lain suatu atribut bukan kunci (non_key) tidak boleh memiliki
ketergantungan fungsional (functional dependency) terhadap atribut bukan kunci
lainnya, seluruh atribut bukan kunci pada suatu relasi hanya memiliki
ketergantungan fungsional terhadap priamry key di relasi itu saja. Seluruh
atribut non-primary key pada relasi Pelanggan dan Biaya di atas
terlihat memiliki ketergantungan fungsional (functional dependency)
terhadap primary key dari masing-masing tabel / relasi. Relasi / tabel
Pelanggan dan Biaya di atas tidak memiliki ketergantungan transitif
(transitive dependency), sehingga tabel tersebut telah memenuhi kriteria
normal ketiga (3-NF).
Seluruh
atribut non-primary key pada relasi Property_Pemilik di atas
terlihat memiliki ketergantungan fungsional (functional dependency)
terhadap primary key, kecuali Nama_Pemilik yang masih memiliki
ketergantungan fungsional (functional dependency) terhadap No_Pemilik.
Inilah contoh ketergantungan dari transitif (transitive dependency), yang
terjadi ketika atribut non-primary key (Nama_Pemilik) bergantung secara
fungsi terhadap satu atau lebih atribut non-primary key lainnya (No_Pemilik).
Kita harus menghilangkan ketergantungan transitif (transitive dependency)
tersebut dengan menjadikan relasi Property_Pemilik menjadi 2 relasi /
tabel dengan format / bentuk sebagai berikut.
Relasi / Tabel Property_Untuk_Pemilik yang
terdiri dari atribut-atribut:
No_property â
Alamat_Property, Biaya, No_Pemilik {No_property sebagai primary key}
Dan relasi Pemilik yang terdiri dari
atribut-atribut:
No_Pemilik â Nama_Pemilik {No_Pemilik sebagai primary key}
Hasil akhir normalisasi tabel Pelanggan_Biaya
sampai ke bentuk normal ketiga adalah sebagai berikut:
Gambar 4 4 gambar normalisasi 3 NF
4.5 Bentuk normal Boyce-Codd (BCNF)
Merupakan
sebuah teknik normalisasi database yang sering disebut 3.5NF, memiliki hubungan
yang sangat erat dengan bentuk 3NF. Pada dasarnya adalah untuk menghandle
anomali dan overlooping yang tidak dapat di handle dalam bentuk 3NF.
Normalisasi database bentuk ini tergantung dari kasus yang disediakan, tidak
semua tabel wajib di normalisasi dalam bentuk BCNF.
Tidak ada komentar:
Posting Komentar