Apa perbedaan antara batasan integritas dan integritas referensial? https://en.wikipedia.org/wiki/Referential_integrity


Jawaban 1:

Ketika satu tabel memiliki data yang 'merujuk' ke yang lain dalam database, keakuratan referensi tersebut disebut integritas referensial. Jika Anda memiliki tabel yang disebut CLASSES yang menyimpan baris dengan kelas yang telah diajarkan dan tabel kedua yang disebut CLASS_ROSTERS dengan baris yang berisi data tentang siswa yang terdaftar di kelas-kelas tersebut, maka CLASS_ROSTERS merujuk ke CLASSES. Anda seharusnya tidak pernah memiliki catatan siswa di CLASS_ROSTERS yang catatan kelasnya tidak ada di tabel CLASSES. Jika ini pernah terjadi, maka integritas referensial telah hilang di antara kedua tabel.

Salah satu mekanisme untuk menegakkan integritas adalah batasan kunci asing. Ini adalah mekanisme database yang bisa digunakan untuk mencegah catatan siswa tidak dimasukkan ke dalam CLASS_ROSTERS ketika catatan kelas yang cocok tidak ada di CLASSES. Batasan kunci asing ada pada beberapa jenis batasan integritas.

Jenis batasan integritas lainnya termasuk batasan kunci primer, batasan kunci unik, dan batasan TIDAK NULL. Semua ini adalah mekanisme basis data yang dirancang untuk menjaga integritas data. Peran mereka adalah untuk mencegah agar data tidak dimasukkan (atau diubah) ke dalam basis data yang akan melanggar aturan yang ada dalam model data.


Jawaban 2:

Secara sederhana.

Batasan Integritas khusus untuk instance elemen data seperti pembatasan jenis (harus berupa angka), atau rentang nilai, dll.

Integritas referensial adalah tentang hubungan instance elemen data itu dengan data lain. Ini paling sering terlihat dengan kunci 'asing'. Misalnya, Anda mungkin tidak mengizinkan faktur diposkan untuk akun yang tidak ada.