İçindekiler:
Tanımı - Yabancı Anahtar ne anlama geliyor?
Yabancı anahtar, iki tablodaki veriler arasında bağlantı sağlayan ilişkisel veritabanı tablosundaki bir sütun veya sütun grubudur. Tablolar arasında çapraz referans görevi görür çünkü başka bir tablonun birincil anahtarına başvurur, böylece aralarında bir bağlantı kurar.
İlişkisel veritabanı sistemindeki tabloların çoğu yabancı anahtar kavramına bağlıdır. Karmaşık veritabanlarında ve veri ambarlarında, bir etki alanındaki verilerin birden çok tabloya eklenmesi gerekir, böylece aralarındaki ilişki devam eder. Referans bütünlüğü kavramı, yabancı anahtar teorisinden türetilmiştir.
Yabancı anahtarlar ve bunların uygulanması birincil anahtarlardan daha karmaşıktır.
Techopedia Yabancı Anahtarı açıklıyor
Yabancı anahtar işlevi gören herhangi bir sütun için, bağlantı tablosunda karşılık gelen bir değer bulunmalıdır. Dikkatsiz bir silme veya yerleştirme iki tablo arasındaki ilişkiyi yok edebileceğinden, veri eklenirken ve yabancı anahtar sütundan veri kaldırılırken özel dikkat gösterilmelidir.
Örneğin, müşteri ve sipariş olmak üzere iki tablo varsa, müşteri tablosundaki müşteri kimliğini ifade eden sipariş tablosuna bir yabancı anahtar girerek aralarında bir ilişki oluşturulabilir. Müşteri kimliği sütunu, hem müşteri hem de sipariş tablolarında bulunur. Sipariş tablosundaki müşteri kimliği, müşteri tablosundaki birincil anahtara göre yabancı anahtar olur. Sipariş tablosuna bir giriş eklemek için yabancı anahtar kısıtlaması sağlanmalıdır. Müşteri tablosunda bulunmayan bir müşteri kimliği girme denemesi başarısız olur, böylece tablonun referans bütünlüğünü korur.
Yabancı anahtar eylemiyle ilişkili bazı referans eylemleri aşağıdakileri içerir:
- Basamaklama: Üst tablodaki satırlar silindiğinde, alt tablodaki eşleşen yabancı anahtar sütunları da silinerek basamaklı bir silme oluşturulur.
- Boş Ayarla: Üst tablodaki başvurulan bir satır silindiğinde veya güncellendiğinde, başvuru satırındaki yabancı anahtar değerleri, başvuru bütünlüğünü korumak için null olarak ayarlanır.
- Tetikleyiciler: Referans eylemleri normalde tetikleyici olarak uygulanır. Birçok açıdan yabancı anahtar eylemleri kullanıcı tanımlı tetikleyicilere benzer. Düzgün yürütmeyi sağlamak için, sıralı referans eylemleri bazen eşdeğer kullanıcı tanımlı tetikleyicileriyle değiştirilir.
- Varsayılan Yap: Bu referans eylemi "set null" a benzer. Üst tablodaki başvurulan satır silindiğinde veya güncellendiğinde, alt tablodaki yabancı anahtar değerleri varsayılan sütun değerine ayarlanır.
- Kısıtla: Bu, yabancı bir anahtarla ilişkilendirilmiş normal başvuru eylemidir. Üst tablodaki bir değer, başka bir tablodaki yabancı bir anahtarla belirtildiği sürece silinemez veya güncellenemez.
- Eylem Yok: Bu başvuru eylemi, yalnızca tabloyu değiştirmeye çalıştıktan sonra işlem yok denetiminin gerçekleştirilmesi dışında işlevde "kısıtla" eylemine benzer.