Integritas referensial adalah fitur database dalam sistem manajemen basis data relasional. Ini memastikan hubungan antara tabel dalam database tetap akurat dengan menerapkan batasan untuk mencegah pengguna atau aplikasi memasukkan data yang tidak akurat atau menunjuk ke data yang tidak ada.
Database menggunakan tabel untuk mengatur informasi yang dikandungnya. Mereka mirip dengan spreadsheet, seperti Excel, tetapi jauh lebih mampu untuk pengguna tingkat lanjut. Basis data berfungsi dengan penggunaan kunci primer dan kunci asing, yang menjaga hubungan antar tabel.
Kunci utama
Kunci utama dari tabel database adalah pengenal unik yang ditetapkan untuk setiap record. Setiap tabel akan memiliki satu atau lebih kolom yang ditunjuk sebagai kunci utama. Nomor Jaminan Sosial dapat menjadi kunci utama untuk daftar basis data karyawan karena setiap nomor Jaminan Sosial itu unik.
Namun, karena masalah privasi, nomor ID perusahaan yang ditetapkan adalah pilihan yang lebih baik untuk berfungsi sebagai kunci utama bagi karyawan. Beberapa perangkat lunak basis data - seperti Microsoft Access - menetapkan kunci utama secara otomatis, tetapi kunci acak tidak memiliki makna yang nyata. Lebih baik menggunakan kunci dengan makna pada catatan. Cara paling sederhana untuk menegakkan integritas referensial bukanlah membiarkan perubahan pada kunci primer.
Kunci asing
Kunci asing adalah pengidentifikasi dalam tabel yang cocok dengan kunci utama dari tabel yang berbeda. Kunci asing menciptakan hubungan dengan tabel yang berbeda, dan integritas referensial mengacu pada hubungan antara tabel-tabel ini.
Ketika satu tabel memiliki kunci asing ke tabel lain, konsep integritas referensial menyatakan bahwa Anda tidak dapat menambahkan catatan ke tabel yang berisi kunci asing kecuali ada catatan terkait dalam tabel tertaut. Ini juga mencakup teknik-teknik yang dikenal sebagai pembaruan kaskade dan penghapusan kaskade, yang memastikan bahwa perubahan yang dilakukan ke tabel terkait tercermin dalam tabel utama.
Contoh Aturan Integritas Referensi
Pertimbangkan situasi di mana Anda memiliki dua tabel: Karyawan dan Manajer. Tabel Karyawan memiliki atribut kunci asing yang berjudul ManagedBy, yang menunjukkan catatan untuk setiap manajer karyawan di tabel Manajer. Integritas referensial memberlakukan tiga aturan berikut:
- Anda tidak dapat menambahkan catatan ke tabel Karyawan kecuali atribut ManagedBy menunjuk ke catatan yang valid di tabel Manajer. Integritas referensial mencegah penyisipan detail yang salah ke dalam tabel. Setiap operasi yang tidak memenuhi aturan integritas referensial gagal.
- Jika kunci utama untuk catatan dalam tabel Manajer berubah, semua catatan yang terkait dalam tabel Karyawan dimodifikasi menggunakan pembaruan kaskade.
- Jika catatan dalam tabel Manajer dihapus, semua catatan terkait dalam tabel Karyawan dihapus menggunakan penghapusan berjenjang.
Keuntungan Kendala Integritas Referensi
Menggunakan sistem manajemen basis data relasional dengan integritas referensial menawarkan beberapa keuntungan:
- Mencegah masuknya data duplikat.
- Mencegah satu tabel dari menunjuk ke bidang yang tidak ada di tabel lain.
- Dijamin konsistensi antara tabel "bermitra".
- Mencegah penghapusan catatan yang berisi nilai yang dirujuk oleh kunci asing di tabel lain.
- Mencegah penambahan catatan ke tabel yang berisi kunci asing kecuali ada kunci utama dalam tabel yang ditautkan.