Apa itu integritas referensial dan bagaimana programmer menghindari masalah ini?
Aturan integritas referensial
Pada dasarnya, integritas referensial mengatakan bahwa database tidak dapat memiliki nilai kunci asing yang tidak berpasangan. Kunci eksternal adalah kolom dalam tabel basis data yang memiliki nilai yang berada di kolom primary key, pengenal unik yang mengidentifikasi baris dalam tabel, di tabel lain. Sebagai contoh, perhatikan tabel database yang disebut "departemen, " di mana ada kolom yang disebut "nomor departemen" sebagai kunci utama. Ini terkait dengan tabel lain yang disebut "karyawan", di mana "nomor departemen" adalah kunci eksternal. Seorang karyawan tidak dapat menjadi bagian dari departemen tertentu jika "nomor departemen" yang sesuai belum ada dalam tabel "departemen". Jika program yang menambah karyawan memperkuat integritas referensial, setiap upaya untuk memasukkan karyawan di departemen yang tidak dikenal tidak akan mungkin.
Keuntungan
Selain memastikan bahwa referensi antara data utuh dan valid, mendefinisikan integritas referensial dari database memiliki banyak keuntungan. Integritas referensial menggunakan kode yang ada di mesin database, bukan meminta programmer untuk menulis kode program kustom dari awal. Akibatnya, pengembangan program lebih cepat, kurang rentan terhadap kesalahan dan konsisten di antara beberapa program aplikasi yang mengakses database.
Konsekuensi
Sayangnya, bahasa pemrograman sering tidak memiliki mekanisme untuk menerapkan integritas referensial, dan bahkan ketika sistem manajemen basis data mendukung mekanisme tersebut, pemrogram gagal menggunakannya. Konsekuensi mengabaikan integritas referensial adalah kode pemrograman yang memiliki cacat, atau kesalahan, malfungsi dan sulit untuk diperluas.
Aplikasi
Programmer dapat menerapkan integritas referensial, dan menghindari catatan "yatim" dalam database, dengan mengaktifkannya dalam hubungan antara dua tabel. Di Microsoft Access, misalnya, menerapkan integritas referensial berarti bahwa setiap operasi yang melanggarnya ditolak. Jenis operasi ini termasuk pembaruan ke basis data yang mengubah objek referensi atau penghapusan yang menghapus objek referensi. Selain itu, Microsoft Access juga memiliki serangkaian opsi, yang dikenal sebagai opsi "kaskade". Opsi-opsi ini memungkinkan pembaruan referensial dan dihapus untuk diperbanyak oleh database, sehingga semua baris terkait berubah dengan cara yang sama.