Her tablonun bir, ama sadece bir, Birincil Anahtarı olabilir. Access 2000, her tablonun birincil anahtarını otomatik olarak endeksler (ve bu sayede veritabanı daha hızlı çalışır). Tablonuzda siz bir alanı Birincil Anahtar olarak atamadıysanız, Access 2000 bir birincil anahtar alanı oluşturmak ister; bunu onayladığınızda bir otomatik sayı alanı açar; tablonuzda zaten birinci alanda otomatik sayı türü bir veri varsa, Access 2000 bu alanı birincil anahtar olarak atar. Bu sebeple, iyi bir tablo tasarımı ilerde kullanmayacak bile olsanız, birinci alanı otomatik sayı olarak belirlemeyi gerektirir.
Birincil anahtar, hemen hemen daima sadece bir alandan oluşur. Fakat Access 2000, ancak çok pahalı veritabanı Server programlarının yapabileceği bir imkana da sahiptir: veri-işlem işiniz birden fazla alandan oluşan Birincil anahtar kullanmanızı gerektiriyorsa, bunu yapabilirsiniz. Çok-alanlı Birincil Anahtar, ileri düzeyde veri-işlem ve sorgulama bilgisi gerektirir.
Her veri türü birincil anahtar olamaz: birincil anahtar olarak kullanamayacağınız veri türleri, Internet adres bağlantısı (köprü), OLE ve not türleridir. Buna göre, metin, sayı, tarih/saat, para birimi, Evet/Hayır, ve otomatik sayı alanları birincil anahtar olarak kullanılabilir. Tablolarınız, birincil anahtar alanına göre otomatik olarak sıralanır. (Eğer bir Evet/Hayır alanını birincil anahtar yapmaya kararlıysanız, tablonuzda en fazla iki kayıt olması gerekir. Neden?)
Birincil anahtarın tabaloda birinci alan olması gerekmez; herhangi bir alan birincil anahtar olabilir. Fakat kendinizi tabolalarınızda birincil anahtar arama zorluğundan kurtarmak için daima birinci alanı birincil anahtar yapacağınız veriye ayırmanız iyi bir alışkanlık olur.
Birincil Anahtar Tayininde Püf Noktası
“Tablomda hangi alanı birincil anahtar yapmalıyım?” sorusu kaçınılmaz olarak sorulacak sorudur. Bu sorunun bir cevabı olabilir: Benzersiz veri içeren alanlardan birini birincil anahtar yapın. Birincil anahtar seçiminde anahtar kelime, “benzersiz” kelimesidir! Seçeceğiniz alandaki veri, her kayıt için özgün olmalıdır; başka hiç bir kayıtta tekrar etmemelidir. Kişilerin adlarını, soyadlarını içeren alanlar özgün olamaz. Öğrenci numaraları, araç plaka numaraları da bir kaç yıl sonra tekrar başka öğrenciye veya araca verilebilir. Telefon numaraları bir ülke için özgün olabilir (her bölgenin kodu farklı olacağı ve aynı bölge kodunda benzer numara bulunmayacağı için), ama veritabanınızda örneğin bölge kodu aynı olan Istanbul ve New York kentlerindeki dostlarınızın telefon numaraları varsa, zor bir tesadüf bile olsa, aynı numara bulunabilir.
Birincil anahtar alanı belirlerken, tablonuzda özgün-benzersiz veri bulunan alan arayın. Bütün alanlarınızdaki verilerin tekrar etmesi ihtimali varsa, yeni bir alan açın ve içine otomatik sayı koyun.. Gerisini Access 2000 düşünsün!
Bir tabloda birincil anahtar alanı tayini son derece kolaydır. Tabaloyu tasarım görünümünde açın; birincil anahtar olarak atamak istediğiniz alanın adının bulunduğu kutuyu sağ-tıklayın ve açılacak menüde birinci madde olan Birincil Anahtar maddesini seçin. Bu alanın adının önündeki kutuda küçük bir anahtar simgesi belirecektir.
Birincil anahtarın veritabanı için önemini ortaya koyacak küçük bir deney yapalım ve sonra birincil anahtarın birincil görevi olan tablo ilişkilendirme konusuna dönelim.
Yukarıdaki alıştırmayı yaptıysanız Çocuklar tablosunu (veya herhangi bir alanı Birincil Anahtar olarak tayin edilmiş bir başka tabloyu) açın, ve yeni bir satırda birincil anahtar alanına mevcut değerlerden birini tekrar yazın. İşinizin bittiğini belirtmek üzere başka bir hücreyi tıklayın; Access 2000 hemen hata mesajı verecektir:
Birincil anahtar alanındaki verinin özgün olması gerekir; yoksa bu anahtar aslî görevini yapamaz.