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:
- Posta kodları şehirler için iyi bir birincil anahtar oluşturmaz. Basit bir şehir araması tablosu yapıyorsanız, posta kodu mantıksal bir birincil anahtar gibi görünüyor. Ancak, daha fazla soruşturma üzerine, birden fazla şehrin bir posta kodu paylaştığını fark edebilirsiniz. Örneğin, New Jersey şehirleri Neptün, Neptün şehri, Tinton Şelalesi ve Wall Township, 07753 posta kodunu paylaşıyor.
- Sosyal Güvenlik numaraları birçok nedenden dolayı iyi birincil anahtarlar yapmaz. Çoğu kişi SSN'lerinin özel olduğunu düşünür ve veritabanı kullanıcılarının açıkça görmesini istemez. Bazı kişilerin SSN'leri yok - Sosyal Güvenlik kartı almayan yabancılar ya da göçmenler. SSN'ler ayrıca bireyin ölümünden sonra tekrar kullanılabilir. Sosyal Güvenlik İdaresi, sahtekarlık veya kimlik hırsızlığı durumlarında yeni bir numara çıkardığında, bir birey bir ömür boyunca birden fazla SSN'ye sahip olabilir.
- E-posta adresleri de birincil anahtar için zayıf bir seçimdir. Benzersiz olmalarına rağmen, zamanla değişebilirler. Ayrıca, herkesin bir e-posta adresi yoktur.
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.