Kunci asing adalah cara terbaik untuk memastikan integritas referensial dari database. Menghindari kaskade karena menjadi sihir seperti menulis segala sesuatu dalam kumpulan karena Anda tidak percaya keajaiban di balik kompiler.
Apa yang buruk adalah penggunaan kunci asing yang salah, seperti membuatnya mundur, misalnya.
Contoh Juan Manuel adalah contoh kanonik, jika Anda menggunakan kode, ada lebih banyak peluang untuk meninggalkan DocumentItems palsu dalam database yang akan datang dan menggigit Anda.
Pembaruan berjenjang berguna, misalnya, ketika Anda memiliki referensi ke data dengan sesuatu yang dapat berubah, katakanlah kunci utama tabel pengguna adalah nama, kombinasi nama belakang. Maka Anda ingin perubahan dalam kombinasi itu menyebar ke mana pun mereka direferensikan.
@ Aidan, Kejelasan yang Anda rujuk datang dengan biaya tinggi, kesempatan meninggalkan data palsu di database Anda, yang tidak kecil . Bagi saya, biasanya hanya kurang terbiasa dengan DB dan ketidakmampuan untuk menemukan FK mana yang ada sebelum bekerja dengan DB yang menumbuhkan ketakutan itu. Entah itu, atau penyalahgunaan kaskade konstan, menggunakannya di mana entitas tidak terkait secara konseptual, atau di mana Anda harus melestarikan sejarah.
sql-server
tag.