Perancangan Database Modul 08

Embed Size (px)

Citation preview

PERANCANGAN DATABASE

Denormalisasi Basis DataNormalisasi merupakan upaya untuk memperoleh struktur basis data yang baik (efisien dalam penggunaan ruang penyimpanan). Penerapan Normalisasi yang ketat dapat menurunkan performansi pemanfaatan basis data. Pelanggaran Normalisasi disebut dengan Denormalisasi, salah satu pertimbangan dari denormalisasi adalah untuk meningkatkan performansi basis data. Beberapa konsekuensi dari Denormalisasi adalah sebagai berikut : a. Redundansi dan Bentuk-Bentuk Denormalisasi Pada basis data relasonal, redundansi tidak dapat dihilangkan sama sekali, khususnya redundansi pada atribut yang berfungsi sebagai key primer. Meskipun tidak dapat dihilangkan sama sekali tapi harus di minimalisasi.

Redundansi Data yang berlebihan akan menimbulkan kerugian seperti : - Membutuhkan ruang penyimpanan yang lebih besar - Menimbulkan inkonsistensi data - Memerlukan tambahan waktu dalam pemeliharaan integritas basis data Bentuk-Bentuk Denormalisasi antara lain : 1. Atribut Turunan (Derived Attribute) Pemakaian atribut turunan merupakan salah satu bentuk denormalisasi, karena nilai-nilai yang terdapat pada atribut ini sesungguhnya dapat diolah dari nilai-nilai yang sudah ada pada atribut yang lain (baik dari tabel lain ataupun tabel yang sama). Umumnya keberadaan atribut semacam ini bersifat redundansi.

Atribut semacam ini biasanya digunakan untuk menghindari proses perhitungan yang berulang dan memakan waktu. Seperti contoh kasus diatas untuk memperoleh IPK (Indeks Prestasi Komulatif) melibatkan beberapa tabel, misal seperti gambar dibawah ini

mengingat banyak tabel yang dilibatkan dan waktu yang lama untuk menghasilkan IPK tersebut, maka denormalisasi dengan menambahkan atribut/field IPK pada tabel mahasiswa layak dipertimbangkan dengan konsekuensi bertambahnya ruang media penyimpanan. 2. Atribut yang Berlebihan Atribut yang Berlebihan adalah atribut yang menyatakan lebih dari satu fakta. Adanya atribut ini akan melanggar Normalisasi Tahap Pertama (1NF), karena tidak memiliki domain nilai yang unik. Penggunaan atribut ini akan mengefisiensikan pemakaian ruang penyimpanan untuk suatu tabel basis data. Contoh Pada atribut NPM yang didalamnya sudah memuat Tahun Masuk/Angkatan, maka tidak diperlukan lagi atribut Tahun Masuk/Angkatan.

Jenis-jenis Atribut Berlebihan * Atribut Terkodekan (Encoded Attribute) Yaitu atribut yang memiliki kode tambahan yang menunjukkan beberapa kondisi lainnya. Contoh :

atribut Kode_Kul di Tabel Kuliah yang di dalamnya sudah terkandung data semester penyelenggaraan setiap mata kuliah. Data semester sebenarnya sudah tidak diperlukan lagi, karena sudah ada atribut Semester di Tabel Kuliah.

*

*

Atribut Gabungan (Concatenated Attribute) yaitu atribut dalam domain komposit (Atribut yang masih bisa di pilah lagi) Contoh : atribut NPM pada Tabel Mahasiswa merupakan gabungan dari bilangan tahun masuk dan no. urut mahasiswa. Dengan demikian, atribut ini sebenarnya bukan atribut sederhana (Simple Attribute), karena masih bisa dibagi lagi. Atribut Tumpang-Tindih (Overlapping Attribut) yaitu atribut dengan nilai yang tidak sepenuhnya eksklusif. Contah : Jika didalam Tabel Kuliah ditambahkan atribut baru Prog_Studi yang menunjukkan Program Studi (D3 atau S1). Jika Mata Kuliah yang hanya diajarkan untuk Program Studi D3 diberi kode D3 dan yang hanya diajarkan pada Program Studi S1 diberi kode S1.

*

Sedangkan mata kuliah yang diajarkan pada Program Studi D3 dan S1 diberi kode DS. Nilai DS ini yang bersifat tumpang tindih, karena mencakup Program Studi D3 dan S1 sekaligus (tidak eksklusif). Atribut Bermakna Ganda (Alternate Atribute) yaitu atribut yang memiliki arti yang berbeda tergantung sub entitasnya (kelompok entitasnya) Contoh : Jika dalam tabel Dosen di tambahkan atribut Gaji. Bagi Dosen Tetap atribut Gaji ini berisi gaji tetap dalam satu bulan, tetapi bagi Dosen Tidak Tetap atribut Gaji berisi insentif dari setiap mata kuliah yang diajarkan. Maka atribut semacam ini yang digolongkan dalam Atribut Bermakna Ganda.

3.

Tabel Rekapitulasi (Summary Table) Tabel-tabel normal yang diolah dalam basis data merupakan tabel detail (tabel yang berisi data detail). Laporan yang bentuknya rekapitulasi merupakan hasil pengolahan dari semua/sekelompok data detail yang tersimpan di tabel tersebut. Sering kali untuk memperoleh suatu laporan melibatkan banyak tabel dan memakan waktu yang cukup lama sehingga tidak praktis, apalagi jika data yang dijadikan dasar pembentukkan rekapitulasi relatif tidak berubah lagi. Sebagai solusinya dapat dibuatkan tabel khusus yang menyimpan hasil pengolahan data tersebut. Tabel inilah yang disebut Tabel Rekapitulasi. Tabel Rekapitulasi ini biasanya bersifat redundansi.

Contoh : Jika ada Diagram E-R untuk Relasi Penjualan seperti dibawah ini

Ket. Relasi Penjualan pada Diagram E-R diatas menunjukkan detail data penjualan barang terhadap seorang pembeli pada waktu tertentu dan jumlah tertentu. Seorang pembeli dapat membeli lebih dari satu barang dan sebaliknya setiap barang dapat dijual kepada lebih dari satu pembeli. Jika ada kebutuhan untuk membuat laporan rekapitulasi bulanan berupa Rekapitulasi Penjualan per pembeli dan Rekapitulasi Penjualan Per Barang. Rekapitulasi tersebut diperoleh dengan melakukan pengolahan terhadap tiga tabel (Tabel Barang, Tabel Penjualan dan Tabel Pembeli), karena data yang diolah relatif tetap (bulanan), dengan demikian dapat dibuat tabel khusus sehingga diagram E-R nya menjadi :