Page 6 - Modul 8
P. 6
II.1 Anomali Penyisipan
Anomali penyisipan adalah masalah yang terjadi ketika suatu baris disisipkan
ke dalam relasi. Anomali ini terjadi karena kunci primernya tidak bernilai (bernilai
NULL). Anomali jenis ini muncul pada relasi Barang_Pemasok yang tercantum pada
tabel 4.5. Sebagaimana diketahui, relasi tersebut mempuyai kunci primer berupa
kode_barang. Terdapat dua persoalan yang muncul, pertama katakanlah terdapat
pemasok baru dengan nama PT.Sentosa berlokasi di Bekasi dan mempunyai kode
pemasok berupa P55. Data ini tidak bisa dimasuukkan dalam relasi tersebut sekiranya
belum ada barang yang dipasoknya. Penyebabnya, kunci primer tidak boleh kosong
ketika data disisipkan ke dalam relasi. Kedua, katakanlah pemasok P33 memasok
barang baru berupa TV Rhino 14” dan harga jual yang ditetapkan adlaah 500.000.
Pada keadaan seperti ini data tenatang P33 (termasuk nama peasok dan kotanya) perlu
diisikan ulang Yang menjadi permasalahan, kalau data yang terkait dengan kode
pemasok ada yang sedikit berbeda (misalnya untuk data yang baru menggunakan kota
berupa Yogyakarta, dan bukan Yogya) maka terjadi ketidakkonsistenan, mengingat
ada kota yang berisi Yogya, tetapi ada yang juga berisi Yogyakarta.
Dua permasalahan tidak terjadi pada relasi yang tercantum dalam tabel 4.6.
Bila terdapat pemasok baru, data cukup dimasukkan dalam relasi Pemasok. Jika
terdapat barang baru, data cukup dimasukkan dalam relasi Barang.
II.2 Anomali Pengubahan
Anomali pengubahan adalah masalah yang timbul ketika data dalam relasi
diubah. Untuk melihat anomali jenis ini kita andaikan bahwa pemasok dengan kode
P22 yang semula berlokasi di Bogor pindah ke Bekasi. Pertama-tama perhatikan
bahwa data untuk P22 dalam relasi Barang_Pemasok ada dua buah garis. Kemudian
katakanlah kota yang diubah hanya pada baris pertama. Akibatnya, baris pertama
berisi Bekasi dan baris kedua tetap berisi Bogor. Tentu saja hal seperti ini akan
menimbulkan kerancuan. Supaya konsisten, harus ada upaya untuk mengubah semua
baris milik kode pemasok P22.
Langkah seperti itu tidak perlu dilakukan pada relasi yang terdapat pada tabel
4.6. Pengubahan kota Bogor menjadi Bekasi untuk kode pemasok P22 hanya perlu
dilakukan pada satu baris yang terdapat pada relasi Pemasok.
6