EN - FR - DE - ES - IT - PT -

LexiconDream

🔗 Yabancı Anahtar

Bir tablodaki kayıtları başka bir tabloya bağlayan bir alan.

Yabancı Anahtar

Yabancı anahtar, bir tablodaki kayıtları başka bir tablodaki kayıtlara bağlar. Sipariş tablosunda customer_id alanı bulunur. Bu alan, müşteri tablosunun birincil anahtarına işaret eden bir yabancı anahtardır. Bu bağlantı, her siparişin gerçek bir müşteriye ait olmasını sağlar. Bu bağlantı olmadan, siparişler var olmayan müşterilere referans verebilir. Veritabanı bu ilişkiyi zorunlu kılar.

Yabancı anahtarlar, ilişkileri belgelemekten daha fazlasını yapar. Referans bütünlüğünü sağlarlar. Müşteri tablosunda bulunmayan bir customer_id ile sipariş eklemeye çalışırsanız, veritabanı bunu reddeder. Siparişleri olan bir müşteriyi silmeye çalışırsanız, veritabanı kurala bağlı olarak silme işlemini engeller veya kademeli olarak siler. Bu uygulama, yetim kayıtları ve tutarsız verileri önler. Yabancı anahtarlar ayrıca sorgu performansına da yardımcı olur. Veritabanı, birleştirmeleri optimize etmek için ilişkiyi kullanabilir. Tüm veritabanları yabancı anahtarları zorunlu kılmaz. Bazı NoSQL veritabanları referans bütünlüğünü uygulamaya bırakır. Bu, geliştiricilere daha fazla esneklik sağlar, ancak aynı zamanda daha fazla sorumluluk da getirir. Uygulama, referansların geçerli olduğundan emin olmalıdır. Başarısız olursa, veriler tutarsız hale gelir. Yabancı anahtarlar bir kısıtlamadır. Kısıtlamalar, bir felaketi önleyene kadar rahatsız edicidir.

Yabancı anahtar kuralları

Yabancı anahtar bir bağlantı ve bir güvencedir. Bağlantı tabloları birbirine bağlar. Güvence ise bunların tutarlı olmasını sağlar.

Comments

No comments yet. Be the first to share a thought.

Leave a comment