Birincil anahtar ile benzersiz anahtar arasındaki temel fark, birincil anahtarın NULL değerleri kabul etmemesidir, buna karşın NULL değerlere Benzersiz anahtar kısıtlamaları dahilinde izin verilir.
Karşılaştırma Tablosu
Karşılaştırma için temel | Birincil anahtar | Benzersiz anahtarı |
---|---|---|
Temel | Bir tablodaki her satır için benzersiz bir tanımlayıcı olarak hizmet vermek için kullanılır. | Aynı zamanda, birincil anahtar olarak tanımlanmayan bir satırı benzersiz olarak belirler. |
NULL değer kabulü | Birincil anahtar NULL değerleri kabul etmeyecek. | Unique, NULL değeri kabul eder. |
Tabloda tanımlanabilecek anahtar sayısı | Sadece bir birincil anahtar | Birden fazla |
indeks | Kümelenmiş dizin oluşturur | Kümelenmemiş dizin oluşturur |
Birincil anahtarın tanımı
Bir sütun, bu tablodaki her bir diziyi (satırı) benzersiz bir şekilde tanımlarsa, tablosunun birincil anahtarı olarak adlandırılabilir. Bütünlük kısıtlamalarını tabloya uygular. Tabloda yalnızca bir birincil anahtara izin verilir. Birincil anahtar yinelenen ve NULL değerleri kabul etmiyor. Birincil anahtar, değişikliklerin nadiren gerçekleşebileceği dikkatle seçilir, bir tablodaki birincil anahtarın çok nadiren değiştiği anlamına gelir.
Bir masanın yardımıyla birincil anahtar kavramını anlayalım. Burada, Roll_number, Ad, Toplu iş, Phone_number, Citizen_ID gibi özniteliklere sahip olan Öğrenci tablosu adında bir tablo oluşturuyoruz.
Bir birincil anahtara yabancı anahtar tarafından başvurulabilir. Masada benzersiz bir kümelenmiş dizin oluşturur. Kümelenmiş bir dizinde, veri satırları, anahtar değerleri temelinde bir tabloda veya görünümlerde sıralanır ve saklanır. Bir tabloda yalnızca bir kümelenmiş dizin olabilir, bunun nedeni, bir tablodaki veri satırlarının yalnızca bir sırayla sıralanabilmesidir.
Unique anahtarının tanımı
Birincil anahtara benzer şekilde, Benzersiz anahtar kısıtlamaları da ilişkide benzersiz bir bireysel bağlantı tanımlar. Ancak, aralarında belirli farklılıklar vardır. Bir tabloda birden fazla benzersiz anahtar bulunabilir. Benzersiz anahtar kısıtlamaları, bir sütun için yalnızca bir NULL değeri kabul edebilir.
Bunu, Roll_number, Name, Batch, Phone_number ve Citizen_ID özniteliklerine sahip bir Öğrenci masasının olduğu benzer bir örnekle anlayalım. Rulo numarası özelliği, birincil anahtarla atanır.
Eşsiz kısıtlamalara yabancı anahtar tarafından da atıfta bulunulur. Birisi bir sütunda ve birincil anahtar olmayan bir sütun grubunda kısıtlamalar uygulamak istediğinde kullanılabilir. Birincil anahtarın aksine, kümelenmemiş dizini oluşturur . Kümelenmemiş dizinler, veri satırlarından ayrı bir yapıya sahiptir. İçindeki her bir anahtar-değer girişi, gösterici kullandığı için anahtar değerini içeren veri satırına işaret eder.
Birincil tuş ile Benzersiz tuş arasındaki tuş farkları
- Bir özellik ana anahtar olarak bildirildiğinde, NULL değerleri kabul etmeyecektir. Öte yandan, bir özellik Benzersiz olarak bildirildiğinde, bir NULL değeri kabul edebilir.
- Bir tablo yalnızca birincil anahtara sahip olabilir, oysa bir tabloda birden fazla benzersiz kısıtlama olabilir.
- Birincil anahtar tanımlandığında otomatik olarak kümelenmiş bir dizin. Buna karşılık, Eşsiz anahtar kümelenmemiş dizini oluşturur.
Sonuç
Birincil anahtar ve Benzersiz anahtar, her ikisi de, bir sütundaki veya sütun grubundaki benzersiz değerlere sahip bir tablonun satırları için benzersiz bir tanımlayıcı amacına hizmet eder. Bu anahtar kısıtlamalar, her tablonun en fazla bir birincil anahtara sahip olduğu, bir tablonun birincil olmayan birden fazla benzersiz anahtara sahip olduğu durumlarda önemli ölçüde farklılaşır.