Normalisasi dan Denormalisasi Data
Normalisasi dan Denormalisasi Data
Normalisasi merupakan proses yang berkaitan dengan model data relational untuk mengorganisasi himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat. Hasil dari proses normalisasi adalah himpunan-himpunan data (table-table) dalam bentuk normal (normal form). Kegunaan normalisasi yaitu meminimalisasi pengulangan informasi,dan Memudahkan indentifikasi entity / obyek.
Tahapan Dalam Normalisasi Data
Ada empat tahapan dalam Normalisasi data yang akan dijelaskan sebagai berikut:
1. Bentuk Tidak Normal (Unnormalized Form)
Bentuk ini memiliki ciri-ciri, yaitu merupakan kumpulan data yang akan direkam, dapat saja data tidak lengkap atau terduplikasi, dan data dikumpulkan apa adanya sesuai dengan kedatangannya.
2. Bentuk Normal Kesatu (1NF/ First Normal Form)
Bentuk normal ke satu mempunyai ciri yaitu setiap data dibentuk dalam flat file (file data/ rata), data dibentuk dalam satu record demi satu record dan nilai dari field field berupa “atomic value”, tidak ada set atribute yang berulang-ulang atau atribute bernilai ganda (multivalue), serta tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan juga bukanlah pecahan kata-kata sehingga artinya lain.
Bentuk Normal Kedua (2NF/ Second Normal Form)
Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk normal kesatu, atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama/ primary key, dan sudah ditentukan kunci-kunci field, dimana kunci field haruslah unik dan dapat mewakili atribute lain yang menjadi anggotanya.
3. Bentuk Normal Ketiga (3NF/Third Normal Form)
Untuk menjadi bentuk normal ketiga:
–Relasi haruslah dalam bentuk normal kedua dan semua atribute bukan primer tidak punya hubungan yang transitif.
–Setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh.
–Contoh pada bentuk normal kedua di atas termasuk juga bentuk normal ketiga karena seluruh atribute yang ada bergantung penuh pada kunci primernya.
Penerapan Normalisasi Data
Sebagai contoh, penerapan Normalisasi Data akan dibuat berdasarkan kwitansi pada gambar dibawah ini.
Bentuk tidak normal (Unnormalized Form)
Membuat tabel unnormalized yaitu dengan memindahkan data dari sumber informasi ke dalam format tabel dengan baris dan kolom.
Bentuk Normal Kesatu (1NF/ First Normal Form)
Langkah Selanjutnya kita akan membuat First Normal Form (1NF) yang merupakan sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai atau kita hilangkan Groups berulangnya.
Bentuk Normal Kedua (2NF/ Second Normal Form)
Langkah ke tiga kita akan membuat bentuk Normal kedua Second Normal From (2NF) merupakan sebuah relasi dalam 1NF dan setiap atribut non-primary-key bersifat fully functionally dependent pada primary key.
Bentuk Normal Ketiga (3NF/Third Normal Form)
Langkah ke 4 kita membuat normal bentuk ke 3 Third Normal From (3NF) ,adalah sebuah relasi dalam 1NF dan 2NF dan dimana tidak terdapat atribut non-primary-key atribut yang bersifat transitivelydependent padaprimary key.
Hasil dari contoh Normalisasi data ini seperti terlihat pada gambar dibawah ini.
Denormalisasi Data
Denormalisasi database adalah pelanggaran aturan normalisasi atau menjabarkan suatu tataan database yang telah normal untuk meningkatkan performa pengaksesan data pada database. Database yang telah normal disini dimaksudkan database yang redundansi datanya minim sehingga data yang disimpan tidak mengalami kerancuan dalam proses pengaksesan.
Tahapan Dalam Denormalisasi Data
Kita dapat melakukan denormalisasi dalam 2 jenis :
melalui pembuatan kolom baru pada tabel / menggabungkan kolom pada tabel satu dengan yang lain.
melalui pembuatan tabel baru.
Cara yang pertama dilakukan apabila data yang di denormalisasi hanya kecil dan digunakan untuk mempermudah pengaksesan data apabila diakses dalam satu tabel. Sedangkan yang kedua dilakukan apabila data yang terdapat dalam tabel tersebut merupakan rangkuman / rekapitulasi dari satu atau beberapa tabel yang pengaksesannya terpisah dari tabel yang ada.
Penerapan Denormalisasi Data Denormalisasi Pertama : total sks yang telah diambil seorang mahasiswa. ini dibentuk dari jumlah sks matakuliah yang pernah diambil.
Denormalisasi Kedua : pembuatan tabel jumlah kehadiran mahasiswa dalam satu semester. data ini dibentuk dari penjumlahan data harian mahasiswa.
Boyce-Codde Method
Boyce-Codde Method merupakan bentuk normal yang digunakan dalam normalisasi database. Ini adalah versi yang sedikit lebih kuat dari bentuk normal ketiga (3NF). Suatu relasi yang memenuhi BCNF selalu memenuhi 3 NF, tetapi tidak untuk sebaliknya. Suatu relasi yang memenuhi 3 NF belum tentu memenuhi BCNF. Karena bentuk 3 NF masih memungkinkan terjadi anomali.
Tahapan Dalam Boyce-Codde Method
Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependencyterhadap setiap atribut atau gabungan atribut dalam bentuk: X→Y, maka X adalah super key.
Tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi.
Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X → A, BCNF tidak membolehkan A sebagai bagian dari primary key.
Sejauh
mana Normalisasi Harus Dilakukan
Pertanyaan ini sering muncul atau
dilontarkan oleh para mahasiswa dan praktisi-praktisi basis data. Tidak ada
patokan dasar untuk itu. Pada dasarnya, kita harus terus melakukan langkah-langkah
normalisasi sehingga kita tidak menemukan lagi anomali-anomali (baik anomali
peremajaan, penyisipan dan penghapusan). Pada kenyataannya, normalisasi hingga
ke 3NF seringkali sudah cukup memadai untuk menghilangkan anomali-anomali.
Hanya kadang-kadang saja kita melangkah terus hingga ke BCNF dan 4NF, 5NF.
Tetapi tidak ada standar baku
sampai sejauh mana kita perlu melaksanakan langkah-langkah normalisasi. Pada
prinsipnya lakukan normalisasi hingga anomali-anomali (peremajaan, penyisipan
dan penghapusan) tidak ditemukan lagi.
Tidak ada komentar: