Skip to content

Birincil Anahtar Seçme

6 de Mayıs de 2021

Veritabanları, kayıtlar arasındaki ilişkileri depolamak, sıralamak ve karşılaştırmak veya oluşturmak için anahtarlara bağlıdır. Bir süredir veritabanlarında bulunduysanız, muhtemelen farklı anahtar türlerini duymuşsunuzdur: birincil anahtarlar, aday anahtarlar ve yabancı anahtarlar. Yeni bir veritabanı tablosu oluşturduğunuzda, bu tabloda depolanan her kaydı benzersiz şekilde tanımlayacak bir birincil anahtar seçmeniz istenir.

Birincil Anahtar Neden Önemlidir?

Bir birincil anahtarın seçimi, yeni bir veritabanı tasarımında vereceğiniz en kritik kararlardan biridir. En önemli kısıtlama, seçilen anahtarın benzersiz olduğundan emin olmanız gerektiğidir. İki kaydın (geçmiş, şimdiki veya gelecek) bir öznitelik için aynı değeri paylaşması olasıysa, bu birincil anahtar için kötü bir seçimdir. Birincil anahtarın bir diğer önemli yönü, ilişkisel bir veritabanında ona bağlanan diğer tablolar tarafından kullanılmasıdır. Bu açıdan, birincil anahtar bir işaretçinin hedefi olarak hareket eder. Bu karşılıklı bağımlılıklar nedeniyle, bir kayıt oluşturulduğunda birincil anahtar bulunmalıdır ve asla değişemez.

Birincil Anahtarlar için Yetersiz Seçenekler

Bazı kişilerin birincil anahtar için bariz bir seçim olarak düşünebilecekleri şey, bunun yerine kötü bir seçim olabilir. İşte birkaç örnek:

  • Posta kodları şehir tablosu için iyi birincil anahtarlar yapmayın. Şehirlerin basit bir arama tablosu yapıyorsanız, posta kodu mantıklı bir birincil anahtar gibi görünür. Bununla birlikte, daha fazla araştırma yaptıktan sonra, birden fazla kasabanın bir posta kodunu paylaştığını fark edebilirsiniz. Örneğin, New Jersey şehirleri Neptün, Neptün Şehri, Tinton Şelaleleri ve Wall Township 07753 posta kodunu paylaşır.
  • Sosyal Güvenlik numaraları birçok nedenden dolayı iyi birincil anahtarlar yapmayın. Çoğu kişi SSN’lerini özel olarak kabul eder ve veritabanı kullanıcıları tarafından açıkça görülmesini istemez. Ayrıca bazı kişilerin SSN’leri yoktur.
  • E-mail adresleri ayrıca birincil anahtar için kötü bir seçimdir. Benzersiz olmalarına rağmen, zamanla değişebilir. Dahası, herkesin bir e-posta adresi yoktur.

İyi Bir Birincil Anahtar Yapan Şey

Peki, etkili bir birincil anahtarı nasıl seçersiniz? Çoğu durumda, destek için veritabanı sisteminize dönün. Veritabanı tasarımında en iyi uygulama, dahili olarak oluşturulmuş bir birincil anahtar kullanmaktır. Veritabanı yönetim sisteminiz normalde veritabanı sistemi dışında hiçbir anlamı olmayan benzersiz bir tanımlayıcı oluşturabilir. Örneğin, RecordID adlı bir alan oluşturmak için Microsoft Access Otomatik Sayı veri türünü kullanabilirsiniz. Otomatik Sayı veri türü, her kayıt oluşturduğunuzda alanı otomatik olarak artırır. Sayının kendisi anlamsız olsa da, sorgularda tek bir kayda başvurmak için güvenilir bir yol sağlar. İyi bir birincil anahtar genellikle kısadır, sayıları kullanır ve hızlı veritabanı aramalarını ve karşılaştırmalarını kolaylaştırmak için özel karakterlerden veya büyük ve küçük harflerin karışımından kaçınır.