Sobes.tech
Junior

Yabancı anahtar, veritabanındaki veri bütünlüğünü nasıl etkiler?

sobes.tech yapay zeka

AI'dan gelen yanıt

Yabancı anahtar (foreign key), verilerin referans bütünlüğünü sağlar ve bir tablodaki (alt tablo) değerlerin başka bir tablodaki (üst tablo) değerlerle uyumlu olmasını garanti eder.

Veri bütünlüğü üzerindeki etkileri:

  1. Üst tablodaki karşılık gelen sütunda olmayan bir değere sahip yeni kayıtların alt tabloya eklenmesini engeller. Var olmayan bir ebeveyn kaydına referans veren bir satır eklemeye çalışmak hata ile sonuçlanır.
  2. Alt tabloya referans eden ebeveyn tablosundaki kayıtların silinmesini sınırlar. Silme işleminin davranışı, yapılandırılan ON DELETE eylemine bağlıdır:
    • RESTRICT (varsayılan): Silme işlemini engeller.
    • CASCADE: Alt tablodaki bağımlı kayıtları siler.
    • SET NULL: Alt tablodaki ilgili sütuna NULL değeri atar (sütun NULL izin veriyorsa).
    • NO ACTION: Standart kontrol sırasında RESTRICT ile benzerdir, ancak çalışma zamanında farklı olabilir.
  3. Üst tablodaki kayıtların güncellenmesini sınırlar. Güncelleme davranışı da yapılandırılan ON UPDATE eylemine bağlıdır:
    • RESTRICT (varsayılan): Güncellemeye izin vermez.
    • CASCADE: Bağımlı alt tablo kayıtlarındaki ilgili değeri günceller.
    • SET NULL: Alt tablodaki ilgili sütuna NULL değeri atar (sütun NULL izin veriyorsa).
    • NO ACTION: Standart kontrol sırasında RESTRICT ile benzerdir, ancak çalışma zamanında farklı olabilir.

Yabancı anahtar, "yetim" kayıtların oluşmasını önlemeye yardımcı olur ve tablolar arasındaki ilişkilerin doğru kalmasını sağlar.