Yabancı Anahtar Nedir?

Veritabanları, verilerin veya bilgilerin depolandığı tablolardan oluşur. Yabancı anahtar, ilişkisel bir veritabanındaki bu tabloların birleştirilmesine veya tabloların birbirleriyle ilişki kurmasına olanak sağlayan bir mekanizmadır. Yabancı anahtarın sahip olması gereken benzersiz özellikler vardır. Aynı veritabanı içindeki değerleri başka bir tablodaki değerlerle ilişki kuran tablodaki bir sütun veya sütun grubu olmalıdır.

Bir yabancı anahtar, bir tablodaki satırların başka bir tablodaki satırlara karşılık geldiğini, böylece veritabanı çapında ilişkiler veya referanslar oluşturduğunu garanti eder. Yabancı anahtarı içeren tablo "alt" ve diğer tablo "üst" dir. Bir yabancı anahtarın değerinin boş veya boş olması ve içinde bulunduğu tablonun birincil anahtarı olarak bilinen şeye referans vermesi veya bununla ilişkilendirilmesi mümkündür. Bu kendine referans olarak bilinir.

Yabancı anahtarların ardındaki konsepti tam olarak anlamadan önce, ana anahtarın ne olduğu hakkında iyi bir anlayışa sahip olmalısınız. Örneğin, kitap satan bir web sitesi için yayınlanan kitaplarla ilgili bilgileri depolayan bir veritabanında iki tablo varsa, bir tablo yayıncılar tablosu ve diğer kitaplar tablosu olabilir. Yayıncılar tablosu, her kayıt için her zaman benzersiz olan bir birincil anahtar ve bir yayıncı adı sütunu olmak üzere iki sütundan oluşabilir. Her kitap için birincil anahtarı veya benzersiz tanımlayıcıyı, kitapların başlığını ve yayıncılar tablosu ile bir ilişki kurulacak bir sütunu tutan kitap tablosunu en az üç sütun oluşturur. Bu sütun yabancı anahtar olacaktır.

Yayıncılar tablosunun birincil anahtarı, aşağıdaki değerlere sahip "pub_id" gibi bir şey olabilir: P01, P02, P03, vs. Bu, bu çocuk masasını tekrar ebeveyni ile ilişkilendirecek olan yabancı anahtar olacaktır - yayıncı masası.

Bununla birlikte, bir yabancı anahtar, başvurduğu üst anahtardan farklı bir sütun adına sahip olabilir. Birincil ve yabancı anahtarların işleyişinin sağlam bir şekilde anlaşılması, referans bütünlüğünün korunmasında önemlidir. Birçok tablodan oluşan ya da bir bağlantı tablosunu içeren çok büyük veritabanları, yabancı anahtarlarla çalışma görevini zorlaştırabilen birden fazla ilişki türü sunar.