İçeriğe geç
parazade

Birincil Anahtar Nedir?

İngilizce: Primary Key

Yayın: · Son güncelleme:

Birincil Anahtar Nedir? Kısaca

Birincil anahtar (primary key), bir veritabanı tablosundaki her satırı benzersiz biçimde tanımlayan sütun ya da sütunlar grubudur. Değeri boş bırakılamaz ve aynı tabloda iki kez kullanılamaz.

Birincil Anahtar nedir?
İçindekiler
  1. Birincil anahtar nedir?
  2. Ne işe yarar?
  3. Hangi değer seçilmeli?
  4. Sık yapılan hata

Birincil anahtar nedir?

Birincil anahtar, tablodaki her kaydın kimlik numarası gibi çalışan alandır. İngilizcede primary key, kısaca PK diye anılır. Bir tabloda yalnızca bir birincil anahtar tanımlanabilir, ama bu anahtar birden fazla sütunun birleşiminden oluşabilir.

İki temel kuralı vardır: değer benzersiz olmalı ve boş (NULL) olmamalı. Veritabanı bu kurallara uymayan bir kaydı reddeder.

Ne işe yarar?

Birincil anahtar, doğru kaydı bulmayı ve güncellemeyi garanti eder. Aynı adı taşıyan iki "Ali Demir" müşteriniz olabilir, ama id değerleri 41 ve 87 olduğu için karışmazlar. Diğer tablolar da bu değeri yabancı anahtar olarak kullanıp ilişki kurar.

Veritabanı birincil anahtar üzerinde otomatik olarak bir indeks oluşturur. Bu sayede "id = 87 olan müşteriyi getir" gibi sorgular milyonlarca satırda bile hızlı sonuçlanır.

Hangi değer seçilmeli?

Pratikte iki yaygın yaklaşım vardır:

  • Otomatik artan sayı: 1, 2, 3 diye ilerler. Basit ve kompakttır.
  • UUID: "550e8400-e29b-…" gibi rastgele üretilen uzun bir kimliktir. Birden fazla sistemde çakışma riski olmadan kayıt üretmek için uygundur.

T.C. kimlik numarası, e-posta ya da telefon gibi "doğal" bilgileri birincil anahtar yapmak cazip görünebilir. Ancak bu değerler zamanla değişebilir ya da kişisel veri olarak korunması gerekebilir.

Sık yapılan hata

Birincil anahtar değerini sonradan değiştirmek, ona bağlı tüm tabloları etkiler. Anlamı olmayan, hiç değişmeyecek bir kimlik seçmek bu sorunu baştan çözer. Tablo oluştururken birincil anahtarı unutmak ise kopya kayıtlara yol açan klasik bir başlangıç hatasıdır.

Sıkça Sorulan Sorular

Bir tabloda birden fazla birincil anahtar olabilir mi?

Hayır, tablo başına tek bir birincil anahtar tanımlanır. Ancak bu anahtar, birden fazla sütunun birlikte oluşturduğu bileşik bir anahtar olabilir.

Birincil anahtar ile UNIQUE kısıtı arasındaki fark nedir?

İkisi de tekrarı engeller. Birincil anahtar tabloda bir tanedir ve boş değer almaz, UNIQUE kısıtı ise birden fazla sütuna konabilir ve çoğu sistemde boş değere izin verir.

İlgili terimler