DENORMALISASI

 DENORMALISASI

            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.

Denormalisasi dapat menggunakan dua cara yaitu :

· Dengan pembuatan kolom baru pada tabel / mengabungkan kolom pada tabel satu dengan yang lain.

· Dengan pembuatan tabel baru

            Cara yang pertama dilakukan apabila data yang didenormalisasi 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.

KAITAN REDUNDANSI PADA DENORMALISASI DAN NORMALISASI

            Perbedaan normalisasi dan denormalisasi adalah terletak pada redundansi data dan kompleksitas query. Pada redundansi data normalisasi lebih strik atau harus dihilangkan sebisa mungkin sehingga mengakibatkan apabila kita akan mengakses data dalam suatu database membutuhkan query yang kompleks. Berbeda dengan denormalisasi, denormalisasi disini tidak terlalu memikirkan tentang data yang redundan sehingga dalam mengakses data lebih cepat.Dan juga pada normalisasi intergritas data akan meningkat sedangkan pada denormalisasi, integritas data akan menurun.

            Relasi antar tabel tidak akan ada jika redundansi dihilangkan, di lain sisi redundansi harus diminimalisir untuk mengurangi ketidakintergritasan basis data. Khususnya pada saat terjadi operasi perubahan data yangtidak dijalarkan ke tabel-tabel lain yang berhubungan.Performansi dapat ditingkatkan dengan mengendalikan redundansi untuk mengurangi perhitungan, kompleksitas perintah dan jumlah tabel yang harus dilibatkan (join).Untuk itu digunakan Denormalisasi basis data.

KEGUNAAN DENORMALISASI

            Apabila kita menilik lebih lanjut tentang proses pengaksesan yang dilakukan database sewaktu data yang berada dalam suatu tabel ada 1000 baris dengan 100 juta baris. Hal itu akan terasa sangat beda proses kita menunggu untuk dapat melihat data. Itupun apabila kita mengaksesnya dari beberapa tabel yang setiap tabel berisikan jutaan data dan kita hanya menginginkan sebagian saja. Dari situ denormalisasi diperlukan, untuk menjaga kestabilan performa suatu sistem.

4.       Bentuk-bentuk Denormalisasi

Denormalisasi terbagi terdiri dari beberapa bentuk yaitu :

·         Atribut yang terderivasi (atribut turunan)

·         Atribut yang berlebihan

·         Tabel rekapitulasi (summary table)

 

a. Atribut yang Terderivasu (Atribut Turunan)

            Atribut turunan adalah atribut yang nilai-nilainya diperoleh dari pegolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan. Atribut yang demikian sebenarnya dapat ditiadakan dari sebuah tabel, karena nilai-nilainya bergantung pada nilai yang ada pada atribut lainnya.hal inilah yang disebut sebagai denormalisasi. Yang keberadaan atributnya bersifat redundan. Atribut semacam ini digunakan untuk menghindari proses perhitungan yang berulang dan memakan banyak waktu.

Contoh :

‘Tampilkan berapa banyak matakuliah yang sudah diambil oleh mahasiswa tertentu!’

Select count (*) from mengambil where NIM = ’09.51.0062’;

Untuk menampilkan banyak mata kuliah; di lakukan denormalisasi yaitu dengan menambahkan beberapa baru agar tidak memakan banyak waktu dalam pemrosesannya.

Dari perintah di atas, terlihat kalau adanya penambahan atribut total_sks, total_matkul,dan ipk. Atribut-atribut itu disebut atribut turunan.

b. Atribut yang Berlebihan

            Atribut yang berlebihan atribut yang menyatakan lebih dari satu fakta.Atribut berlebihan terbagi atas beberapa bagian yaitu :

Ø  Atribut Terkodekan

            Atribut terkodekan adalah atribut yang memiliki kode tambahan yang menunjukkan beberapa kondisi lainnya.

Contoh :

id_mk di tabelkuliah yang didalamnya sudah terkandung data program studi. Data program studi ini sebenarnya tidak diperlukan lagi karena sudah ada atribut prog_studi di tabel kuliah.

Tapi akan menjadi aneh jika kode matakuliah tidak mengikuti format aturan penulisan yang ada. Untuk itu kita bisa lakukan denormalisasi dengan tetap menuliskan kode matakuliah seperti di atas.

 

Ø  Atribut Gabungan

            Atribut gabungan adalah atribut yang terdiri dari atribut yang lain.

Contoh :

Atribut nim di tabel mahasiswa merupakan gabungan dari tahun masuk/angkatan dengan program studi dan no urut mahasiswa. Dengan demikian atribut ini sebenarnya tidak atomik (bagian terkecil) karena masih bisa dibagi lagi.

‘Misalnya : NIM : 09.51.0062 (Ket: angkatan.jurusan.no urut).’

Sama halnya dengan atribut terkodekan,akan menjadi aneh jika nomor mahasiswa tersebut hanyalah nomor urut.Tentu hal ini akan membutuhkan informasi lebih tentang angkatan dan terdaftar dijurusan mana mahasiswa tersebut.

 

Ø  Atribut Tumpang Tindih

            Atribut tumpang tindih adalah atribut dengan nilai yang tidak sepenuhnya ekslusif (bersifat khusus).

Contoh :

Atribut semester di tabel kuliah berisikan:

        ‘1’ : matakuliah ganjil

        ‘2’ : matakuliah genap

        ‘3’ : matakuliah ganjil & genap

Nilai ‘3’ mencakup semester genap dan ganjil sekaligus(jadi tidak ekslusif).

Jadi sebaiknya matakuliah dimasukkan dua kali, jika itu di laksanakan di semester ganjil dan genap.

Tentu saja hal ini melanggar aturan normalisasi (redundansi), tapi untuk performansi hal ini dapat ‘dilanggar’.

 

Ø  Atribut Bermakna Ganda

            Atribut bermakna ganda adalah atribut yang memiliki arti berbeda tergantung kelompok entitasnya.

Contoh :

Di tabel dosen terdapat atribut gaji. Bagi dosen tetap atribut ini berisi gaji tetap perbulan, sedangkan bagi dosen tidak tetap gaji ini berisi insentif (gaji tambahan) mengajar tiap sks.

Jika gaji dosen harus dibedakan, maka harus disediakan 2 buah atribut yakni gaji_tetap dan gaji_tidak_tetap.Walaupun sama-sama berisi tentang jumlah gaji yang diterima dosen, hal ini tentu sajamelanggar aturan normalisasi karena ada blok data yang kosong. Tetapi sekali lagi, denormalisasi dalam hal ini boleh dilakukan.

 

c. Tabel Rekaptulasi

            Laporan hasil rekapitulasi akan selalu merupakan hasil pengolahan dari semua tabel yang  ada.Pengolahan tersebut melibatkan banyak tabel sehingga akan membutuhkan waktu yang lama.

Jika hal tersebut sering diakses dan diperlukan, maka perlu dibuat tabel khusus untuk menyimpan data hasil rekapitulasi tersebut. Pada contoh kasus sebelumnya, akan dibutuhkan waktu yang lama jika harus menghitung jumlah matakuliah, jumlah sks dan ipk mahasiswa yang pengolahannya berasal dari beberapa tabel. Untuk itu bisa dibuat tabel khusus, misal : rekap_mahasiswa yang berisi data tentang jumlah matakuliah, jumlah sks, ipk. Hal ini tentu saja akan menimbulkan redundansi, tapi dengan mempertimbangkan performansi, Denormalisasi pada kasus ini perlu dilakukan.

 

KESIMPULAN

Pengaruh denormalisasi terhadap basis data cukup besar khususnya dalam hal meningkatkan performansi database. Terkait dengan denormalisasi pembuatan database penting juga untuk dilakukan karena hal ini akan mempunyai efek terhadapat kecepatan akses data sehingga akan mempercepat proses pelayanan sehingga waktu yang dibutuhkan lebih efesien.

 

SUMBER : https://goverto.wordpress.com/2013/10/07/denormalisasi/ & http://mr_jock.mywapblog.com/denormalisasi.xhtml



Komentar

Postingan populer dari blog ini

SDLC (Software Development Life Cycle)

NORMALISASI

Apa itu SQL,DDL, DML, DCL, dan TCL.