Anahtarlar ilişkisel veritabanının temel öğeleridir, çünkü bir çift tablo arasında bir ilişki kurar ve bir tablodaki her kaydın benzersiz şekilde tanımlanmasını sağlarlar. Anahtarlar ilişki kurmaktan daha özel bir öneme sahiptir; Ayrıca Referans Bütünlüğü konusunda da yardımcı olurlar ve tablo düzeyinde bütünlüğün önemli bir bileşenidirler. Tablolar, genellikle sıralanmamış ve düzensiz olan binlerce kayda kadar uzanan büyük miktarda veri depolar. Bu çok sayıda kayıttan belirli bir veri almak bazen zor veya bazen imkansız olabilir. Bu, Keys'in resme geldiği yerdir. Burada ilişkisel veritabanı şemasının iki çok önemli anahtarı ve aralarındaki fark hakkında çalışacağız: Birincil anahtar ve Yabancı Anahtar.
Birincil anahtar, tablodaki her kaydı benzersiz şekilde tanımlayan özel bir anahtardır. İlişkisel veritabanında, bir tablonun her satırında benzersiz bir tanımlayıcı olması çok önemlidir ve birincil anahtar, bir tablodaki bir tuple'i benzersiz olarak tanımlamak için ihtiyacınız olan şeydir. Bir demet ilişkisel veritabanındaki bir değer öznitelikleri kümesini temsil eder. Birincil anahtar, tablodaki tüm kayıtları örtülü olarak tanımlamak için kullanılan ilişkisel veritabanı tablosundaki bir sütuna veya bir sütun kümesine başvurabilir. Birincil anahtar, benzersiz bir tanımlayıcı görevi gördüğü ve Boş değerler içermemesi nedeniyle her kayıt için benzersiz olmalıdır. Her veritabanında yalnızca bir birincil anahtar olmalıdır.
Yabancı anahtar, başka bir tabloda başka bir veritabanı kaydının anahtar alanını benzersiz olarak tanımlayan bir veritabanı kaydındaki bir alanı veya alan koleksiyonunu ifade eder. Basit bir ifadeyle, bir veritabanındaki iki farklı tablodaki kayıtlar arasında bir bağlantı kurar. Bir tablodaki birincil anahtar sütunlarına işaret eden bir sütun olabilir, bu da bir tabloda tanımlanan yabancı anahtarın başka bir tablonun birincil anahtarına başvurduğu anlamına gelir. İlişkisel veritabanlarında referanslar, veritabanlarını sıralamak için gerekli olan kayıtlar arasında bağlantılar kurmak için çok önemlidir. İlişkisel veritabanı normalleştirmesinde yabancı anahtarlar, özellikle tabloların diğer tablolara erişmesi gerektiğinde önemli bir rol oynar.
Birincil anahtar, ilişkisel bir veritabanında, her kayıt için benzersiz bir tanımlayıcı görevi gören özel bir anahtardır, yani tablodaki her satırı / kaydı benzersiz bir şekilde tanımladığı anlamına gelir ve değeri tablonun her satırı için benzersiz olmalıdır. Yabancı anahtar ise, bir tabloda iki tabloyu birbirine bağlayan bir alandır. Başka bir tablonun veya aynı tablonun bir satırını benzersiz bir şekilde tanımlayan bir sütuna veya bir sütun grubuna karşılık gelir.
Birincil anahtar, ilişkisel veritabanı tablosundaki bir kaydı benzersiz olarak tanımlar; yabancı anahtar ise tablodaki başka bir tablonun birincil anahtarı olan alanı ifade eder. Birincil anahtar benzersiz olmalıdır ve tanımlanması gereken bir tabloda yalnızca bir birincil anahtara izin verilirken, bir tabloda birden fazla yabancı anahtara izin verilir.
Birincil anahtar, ilişkisel veritabanı tablosundaki birincil anahtar alanında yinelenen değerlerin bulunmasına izin verilemeyen UNIQUE ve Null Değil kısıtlamalarının birleşimidir. Birincil anahtar özelliği için iki satırın yinelenen değer taşımasına izin verilmez. Birincil anahtarın aksine, yabancı anahtar yinelenen değerler içerebilir ve ilişkisel veritabanındaki bir tablo yabancı anahtardan daha fazlasını içerebilir.
İkisi arasındaki ana farklardan biri, birincil anahtarların aksine, yabancı anahtarların da NULL değerler içerebilmesidir. İlişkisel veritabanındaki bir tabloda NULL değerlere izin vermeyen yalnızca bir birincil anahtar bulunabilir.
Birincil anahtar kısıtlaması geçici tablolar ve değişkenleri üzerinde dolaylı olarak tanımlanabilirken, yerel veya genel geçici tablolarda yabancı anahtar kısıtlaması uygulanamaz.
Birincil anahtar değeri, alt tabloda yabancı anahtar olarak adlandırılan üst tablodan silinemez. Üst tabloyu kaldırmadan önce alt tabloyu silmeniz gerekir. Aksine, değer üst tablonun birincil anahtarına yönlendirilse bile, yabancı anahtar değeri alt tablodan silinebilir.
Anahtarlar, tablolar arasında ve tablo içinde bağlantılar kurmak için veritabanı şemasının varlığında önemli bir rol oynar. Anahtarlar ilişkiler kurar ve özellikle tablo düzeyinde ve ilişki düzeyinde bütünlük olmak üzere farklı bütünlük türlerini uygular. Birincisi, tablonun benzersiz kayıtlar içerdiğinden ve tablolar arasında ilişki kurmak için kullandığınız alanların eşleşen değerler içerdiğinden emin olun. Birincil anahtar ve yabancı anahtar, ilişkisel veritabanlarında kullanılan en önemli ve yaygın iki anahtar türüdür. Birincil anahtar, bir tablodaki kayıtları benzersiz bir şekilde tanımlamak için kullanılan özel bir anahtar iken, iki tablo arasında ilişki kurmak için bir yabancı anahtar kullanılır. Her ikisi de yapı olarak aynıdır, ancak ilişkisel veritabanı şemasında farklı roller oynarlar.