Sistem Basis Data Redudancy Anomali Kriteria Tabel efisien Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb: 1. 2. 3. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabeltabel 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 1. Anomali Penambahan (Insert Anomaly) 2. Anomali Pengubahan (Update Anomaly) 3. 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 Lantai 2 MK04 Statistika A 401 Lantai 4 MK05 Kalkulus A 402 Lantai 4 Relasi diatas menyatakan bahwa : - Untuk suatu KULIAH menggunakan RUANG tertentu (misal Pancasila menggunakan Ruang A 201) - Untuk suatu RUANG berada pada TEMPAT tertentu (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. 10 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 001 Ali Bahasa Inggris Biaya 100000 002 003 004 Budi Iwan Arief Bahasa Jerman Bahasa Mandarin Bahasa Inggris 150000 120000 100000 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 14 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 Palemban g Monitor 10 Sentosa Bandung Keyboard 15 Makmur Jakarta Mouse 20 Bahagia Palemban g 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 Pemasok Pemasok Kota Barang Jumlah Bahagia Semarang Monitor 10 Sentosa Bandung Keyboard 15 Makmur Jakarta Mouse 20 Bahagia 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. 20 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 21 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