İlişkisel veritabanında yabancı anahtar nedir?
Basit bir örnek
Bir veritabanındaki yabancı anahtarın basit bir örneği, birincil anahtarı olarak Student_ID olan bir birincil "Öğrenci" (Öğrenci) tablosudur. Birincil ders olarak Course_ID ile ilgili "ikincil Ders_Enrollment" (Course_Matriculation) ikincil tablosunda, bir öğrencinin kayıtlı olduğu her ders için "Öğrenci" tablosunun yabancı anahtarı Student_ID görünür.
Referans bütünlüğü kuralı
Başvuru bütünlüğü kuralı, ikincil bir tabloda null olmayan herhangi bir yabancı anahtar değerinin, veritabanındaki birincil tablosundaki birincil anahtar değerine başvurması gerektiğini belirtir. 1. Adım örneğinde, "Öğrenci" tablosunda öğrenci hakkında hiçbir bilgi bulunmadığında, bir derse kayıtlı olan bir öğrencinin veri tabanında yer alması mantıklı olmaz. Bu kural, bir veritabanındaki tutarlılığı zorlar.
Basamaklı elemeler
Yabancı anahtar ilişkisindeki her ikincil kaydın referans bütünlüğü kuralına göre karşılık gelen bir birincil kaydı olmalıdır. Birincil tablodaki bir kayıt silindiğinde, veritabanındaki tüm kayıtları da kaldıran bir kaskad silme işlemi gerçekleştirilmelidir. 1. Adımdaki örnekte, bir öğrencinin veritabanındaki Öğrenci tablosundan kaldırılması, o öğrencinin kayıt kayıtlarının Course_Enrollment tablosundaki tüm yinelemelerini de kaldıracaktır.