Birincil Anahtar Nedir?

Birincil anahtar, tek bir kayda özgü olan bir veritabanındaki bir giriştir. Bu anahtar genellikle iki yoldan biriyle türetilir: veritabanının dışından gelen benzersiz bir tanımlama kodu veya veritabanı içinden oluşturulan bir sayı. Veri tabanı, bir sosyal güvenlik numarası veya parça kimlik numarası gibi girişe her zaman benzersiz olan bilgileri içerdiğinde, bunlar genellikle birincil anahtar olarak kullanılır. Veriler böyle bir tanımlayıcıya sahip olmayacaksa, veritabanı her kayıt için benzersiz bir kod vermek üzere dahili sistemlerine dayanan sayılar oluşturacaktır.

Birincil anahtar üzerinde üç ana kısıtlama vardır: varoluş, teklik ve değişmezlik. Kaydın yapıldığı sırada bir anahtar bulunmalıdır - daha sonra eklenemez. Her anahtar diğer anahtarlardan tamamen farklı olmalıdır. Bu, isim veya doğum tarihi gibi ortak tanımlayıcıların kullanılamayacağı anlamına gelir, çünkü iki kişinin aynı günde aynı isimde doğması mümkündür. Son olarak, bir birincil anahtar oluşturulduktan sonra hiçbir zaman değiştirilemez.

Bir veritabanı potansiyel olarak sınırsız sayıda girişe sahip olabileceğinden, birincil anahtar da sonsuz olmalıdır. Bir veritabanının hiçbir zaman anahtarının tükenmeyeceğinden emin olmak için çoğu kayıt, anahtar için sayısal bir kod kullanır. Sayılar her zaman büyüyebildiğinden ve bilgisayarlar eski girişlere yalnızca yerinde tutma sıfırları ekleyebildiğinden, bir sistem hiçbir zaman anahtarların tükenmeyecektir. Bazen bu numaralar benzersiz olmayan bilgilere dayanır, ancak anahtarın uygulanabilir olduğundan emin olmak için benzersiz bir tanımlayıcı eklenir.

Veritabanları, verileri düzenlemenin bir yolu olarak birincil anahtarı kullanır. Anahtar asla tekrarlanmadığından, bu bilgi parçası veritabanının her kaydı diğerlerinden ayrı tutmasını sağlar. Bir kayıttaki her bilgi parçası anahtara geri bağlanır; Bu şekilde, sisteme ne olursa olsun, veritabanı, kaybolan bilgilerden kayıtları yeniden oluşturabilir.

Anlamlı bir birincil anahtar atamak, genellikle otomatik olarak değer üretmekten daha iyi bir uygulama olarak görülür. Bu, kayda hem anahtar olarak çalışan hem de veri sağlayan bir tanımlayıcı verecektir. Küçük veritabanlarında, bu ayrım nadiren gereklidir, ancak büyük sistemlerde, oluşturulan bir anahtarın kullandığı fazladan alan, ciddi bir veritabanı şişmesi olabilir. Bu, hem sistemi yavaşlatır hem de veritabanının önemli ölçüde daha fazla depolama alanı gerektirmesini sağlar.