Birincil Anahtarın Seçilmesi

Posta kodu veya Sosyal Güvenlik numarası kullanmayın

Veritabanları, kayıtlar arasında saklamak, sıralamak ve karşılaştırmak ya da ilişki oluşturmak için anahtarlara bağlıdır. Bir süredir veri tabanları içindeyseniz, muhtemelen farklı anahtar türlerini duymuşsunuzdur: birincil anahtarlar, aday anahtarları ve yabancı anahtarlar . Yeni bir veritabanı tablosu oluşturduğunuzda, o tabloda depolanan her kaydı benzersiz şekilde tanımlayan bir birincil anahtar seçmeniz istenir.

Birincil Anahtar Neden Önemlidir?

Birincil anahtarın seçimi, yeni bir veritabanının tasarımında yapacağınız en kritik kararlardan biridir . En önemli kısıtlama, seçilen anahtarın benzersiz olduğundan emin olmanızdır. Geçmiş, şimdiki zaman veya gelecek gibi iki kaydın bir öznitelik için aynı değeri paylaşması olasıysa, birincil anahtar için zayıf bir seçimdir.

Birincil anahtarın bir başka önemli yönü, ilişkisel bir veritabanında kendisine bağlanan diğer tabloların kullanılmasıdır. Bu açıdan, bir birincil anahtar, bir işaretçinin hedefi gibi davranır. Bu karşılıklı bağımlılıklardan dolayı, bir kayıt oluşturulduğunda birincil anahtar olmalıdır ve hiçbir zaman değişemez.

Birincil Anahtarlar için Kötü Seçimler

Bazı kişilerin birincil anahtar için açık bir seçim olduğunu düşünmesi, bunun yerine kötü bir seçim olabilir. İşte birkaç örnek:

Etkin Birincil Anahtar Seçme

Peki, iyi bir birincil anahtar nedir? Ç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 bir anlamı olmayan benzersiz bir tanımlayıcı oluşturabilir. Örneğin, RecordID adlı bir alan oluşturmak için Microsoft Access AutoNumber veri türünü kullanabilirsiniz. OtomatikSayı veri türü, her kayıt oluşturduğunuzda alanı otomatik olarak artırır. Sayının kendisi anlamsız olsa da, sorgulardaki tek bir kayda referans vermek 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ı kolaylaştırmak için özel karakterlerden veya büyük ve küçük harflerden oluşan bir karışıma engel olur.