Sistem Basis Data Redudancy Anomali
Kriteria Tabel efisien Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb: Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation). Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan dijelaskan kemudian-)
Anomali (Anomaly) Anomali/Penyimpangan adalah suatu masalah yang timbul pada suatu tabel, dimana masalah itu akan terjadi pada saat tabel akan dimanipulasi Masalah yang timbul : - ketidakkonsistenan data - data menjadi hilang ketika data lain dihapus
Macam Anomali Anomali Penambahan (Insert Anomaly) Anomali Pengubahan (Update Anomaly) Anomali Penghapusan (Delete Anomaly)
Menjadikan Form Normal Tujuannya adalah untuk menghilangkan anomali – anomali. Anomali Penambahan Data Penambahan record baru mengharuskan duplikasi nilai – nilai atribut tertentu. Anomali Penghapusan Data Penghapusan record dapat mengakibatkan hilangnya nilai atribut yang hanya terdapat pada record tersebut (yang mungkin masih dibutuhkan). Anomali Modifikasi Data Pengubahan nilai atribut suatu record mengharuskan pengubahan atribut yang sama pada banyak record – record lain.
Anomali Penambahan (Insert Anomaly) Anomali Penambahan terjadi pada saat penambahan data hendak dilakukan ternyata ada elemen data yang masih kosong dan elemen data tersebut diperlukan untuk proses penambahan
Contoh relasi yang menimbulkan anomali penambahan MataKuliah KodeMK NamaMK Ruang Tempat MK01 Pancasila A 201 Lantai 2 MK02 Jaringan A 302 Lantai 3 MK03 Basis Data A 204 MK04 Statistika A 401 Lantai 4 MK05 Kalkulus A 402
Relasi diatas menyatakan bahwa : - Untuk suatu KULIAH menggunakan RUANG tertentu (misal Pancasila menggunakan Ruang A 201) - Untuk suatu RUANG berada pada TEMPAT (misal Ruang A 201 berada pada lantai 2)
Masalah : Bagaimana cara menyimpan data bila terdapat fakta ada ruang baru dengan nama A 501 yang terdapat pada lantai 5 ? Penyisipan tidak dapat dilakukan mengingat tidak ada / belum ada perkuliahan yang menggunakan ruang tersebut
Contoh Anomali Penambahan Tidak dapat memasukkan pegawai baru yang tidak mengambil kursus.
Anomali Penghapusan (Delete Anomaly) Anomali Penghapusan terjadi apabila ada suatu tupel yang tidak terpakai dihapus mengakibatkan adanya data lain yang hilang
Contoh relasi yang menimbulkan anomali penghapusan Kursus No Siswa Nama Siswa Nama Kursus Biaya 001 Ali Bahasa Inggris 100000 002 Budi Bahasa Jerman 150000 003 Iwan Bahasa Mandarin 120000 004 Arief 005 Putri Bahasa Jepang 175000
Masalah : Seandainya data siswa dengan No Siswa 005 yang bernama Putri dihapus (dikarenakan data tersebut tidak digunakan lagi maka recordnya akan dihapus) maka mengakibatkan data yang menyatakan bahwa biaya kursus bahasa Jepang sebesar 175000 juga akan terhapus
Contoh Anomali Penghapusan Jika pegawai dengan NIP 140 dihapus, informasi mengenai kursus Tax Acc akan hilang Sistem / Teknologi Basis Data
Anomali Pengubahan (Update Anomaly) Anomali pengubahan terjadi apabila pengubahan pada sejumlah data yang duplikasi tetapi tidak seluruhnya diubah
Contoh relasi yang menimbulkan anomali pengubahan Pemasok Pemasok Kota Barang Jumlah Bahagia Palembang Monitor 10 Sentosa Bandung Keyboard 15 Makmur Jakarta Mouse 20 CDROM 50
Masalah : Seandainya pemasok Bahagia pindah ke kota lain misalnya Semarang dan pengubahan hanya dilakukan pada data yang pertama (data pemasok Bahagia pada relasi Pemasok ada 2 buah) maka hasilnya akan menyebabkan ketidakkonsistenan
Relasi Pemasok setelah adanya pengubahan Kota Barang Jumlah Bahagia Semarang Monitor 10 Sentosa Bandung Keyboard 15 Makmur Jakarta Mouse 20 Palembang CDROM 50
Ketidakkonsistenan yang terjadi : - Fakta pertama menyatakan bahwa pemasok Bahagia berlokasi di Semarang - Fakta kedua menyatakan bahwa pemasok Bahagia berlokasi di Palembang Mana yang benar ?
Contoh Anomali Pengubahan Menaikkan gaji pegawai dengan NIP 100 mengharuskan perubahan pada beberapa record.
Penyebab Anomali Mengapa anomali - anomali ini terjadi ? Karena menggabungkan dua tema (konsep entitas) dalam satu relasi. Ini mengakibatkan duplikasi – duplikasi sebagai akibat dari ketergantungan antar atribut yang tidak pada tempatnya. Solusi : Normalisasi
Redundansi (Redundancy) Munculnya data yang berulang kali pada suatu tabel/relasi yang semestinya tidak diperlukan Kerangkapan data dapat terjadi : - Kerangkapan data dalam satu file - Kerangkapan data dalam beberapa file