logo

Birincil Anahtar ile Benzersiz anahtar arasındaki fark

MySQL'deki anahtarlar, bir veya ikiden fazla tablo arasında ilişki oluşturmak için kullanılan sütun veya sütunlar kümesidir. Ayrıca tablodaki kayıtlara erişmek için de kullanılırlar. Her iki anahtar da bir tablo veya ilişkideki bir sütun veya sütun kümesi için garantili benzersizlik sağlar. Aralarındaki temel fark, birincil anahtarın tablodaki her kaydı tanımlaması ve benzersiz anahtarın, NULL değeri dışında bir sütunda yinelenen girişleri engellemesidir. . Bu yazıda Birincil ve Benzersiz Anahtarlar arasındaki temel farkları çeşitli parametrelere göre karşılaştıracağız. Karşılaştırma yapmadan önce bu anahtarlara kısaca değineceğiz.

Java'da sınıf ve nesne
Birincil Anahtar ve Benzersiz anahtar

Birincil Anahtar Nedir?

Birincil anahtar bir benzersiz veya boş olmayan o tablodaki veya ilişkideki her kaydı benzersiz şekilde tanımlayan anahtar. Birincil anahtar sütunu yinelenen değerleri depolayamaz; bu, birincil anahtar sütunu değerlerinin her zaman benzersiz olduğu anlamına gelir. Aynı zamanda denir minimal süper anahtar ; bu nedenle herhangi bir ilişkide birden fazla birincil anahtar belirleyemeyiz. Bir tablonun birincil anahtar sütununa, başka bir tablonun yabancı anahtar sütunu tarafından başvurulabilir.

Örneğin adında bir tablomuz var öğrenciler Stud_ID, Roll_No, Ad, Mobil ve E-posta gibi niteliklere sahip.

Birincil Anahtar ve Benzersiz anahtar

Burada yalnızca Rulo_Hayır sütunu hiçbir zaman aynı ve NULL değeri içeremez. Her öğrencinin benzersiz bir rulo numarası olduğunu biliyoruz. Bu nedenle iki öğrenci asla aynı rulo numarasına sahip olamaz. Bu özellik veritabanındaki her kaydın benzersiz şekilde tanımlanmasına yardımcı olur. Dolayısıyla Roll_No özelliğini birincil anahtar yapabiliriz.

Birincil Anahtarın Özellikleri

Aşağıdakiler temel birincil temel özelliklerdir:

  • Birincil anahtar sütunu yinelenen değerler içeremez.
  • Birincil anahtar tablonun varlık bütünlüğünü uygular.
  • Bir tabloda birden fazla birincil anahtar sütunu bulunamaz.
  • Birincil anahtarı bir veya daha fazla tablo alanından yapabiliriz.
  • Birincil anahtar sütununda NOT NULL kısıtlamaları bulunmalıdır.

Benzersiz Anahtar Nedir?

Benzersiz anahtarı Veritabanı kayıtlarını benzersiz şekilde tanımlamak için bir tablodaki tek bir sütun veya sütunların birleşimidir. Benzersiz bir anahtar önler depolamaktan yinelenen değerler sütunda. Bir tablo, birincil anahtar sütununun aksine birden çok benzersiz anahtar sütunu içerebilir. Bu anahtar, benzersiz anahtar sütununda bir NULL değerinin saklanabilmesi dışında birincil anahtara benzer. Benzersiz anahtara da denir benzersiz kısıtlamalar ve başka bir tablonun yabancı anahtarıyla başvurulabilir.

Örneğin , isimli aynı tabloyu ele alalım öğrenciler Stud_ID, Roll_No, Ad, Mobil ve E-posta gibi niteliklere sahip.

Birincil Anahtar ve Benzersiz anahtar

Burada Stud_ID Her öğrencinin benzersiz bir kimlik numarasına sahip olması gerektiğinden benzersiz bir kısıtlama olarak atanabilir. Öğrencinin üniversite değiştirmesi durumunda öğrenci kimliği olmayacaktır. Bu durumda, giriş şunları içerebilir: HÜKÜMSÜZ benzersiz bir anahtar kısıtlaması NULL'un depolanmasına izin verdiği için değer, ancak yalnızca bir tane olmalıdır.

yerel tarih

Benzersiz anahtarın özellikleri

Aşağıdakiler temel benzersiz temel özelliklerdir:

  • Benzersiz anahtarı bir veya daha fazla tablo alanından oluşturabiliriz.
  • Bir tablo birden fazla benzersiz anahtar sütunu tanımlayabilir.
  • Varsayılan olarak benzersiz bir anahtar, kümelenmemiş benzersiz dizinlerde bulunur.
  • Benzersiz kısıtlama sütunu NULL değerini saklayabilir, ancak sütun başına yalnızca bir NULL'a izin verilir.
  • Yabancı anahtar, bir tablonun benzersizliğinin korunmasında benzersiz kısıtlamaya referans verebilir.

Birincil ve Benzersiz Anahtar arasındaki temel farklar

Aşağıdaki noktalar birincil ve aday anahtarlar arasındaki temel farkları açıklamaktadır:

rekha filmi oyuncusu
  • Birincil anahtar, bir tablodaki kayıtları benzersiz şekilde tanımlamak için tablonun bir veya daha fazla alanını oluşturabilir. Öte yandan, benzersiz bir anahtar, iki satırın bir sütunda yinelenen girişlere sahip olmasını engeller.
  • İlişkisel veritabanında bir tablonun birden fazla birincil anahtarı olamaz, ancak tablo başına birden fazla benzersiz anahtar bulunabilir.
  • Birincil anahtar sütunu NULL değerler içeremez; benzersiz bir anahtar ise NULL değerlere sahip olabilir, ancak bir tabloda yalnızca bir NULL'a izin verilir.
  • Birincil anahtar benzersiz olmalıdır, ancak benzersiz bir anahtarın mutlaka birincil anahtar olması gerekmez.
  • Varsayılan olarak birincil anahtar, verilerin fiziksel olarak sıralı dizinde düzenlendiği kümelenmiş bir dizindir. Bunun aksine, benzersiz anahtar, kümelenmemiş benzersiz bir dizindir.
  • Birincil anahtar varlık bütünlüğünü uygularken, benzersiz anahtar benzersiz verileri zorlar.

Birincil Anahtar ve Benzersiz Anahtar Karşılaştırma Tablosu

Aşağıdaki karşılaştırma tablosu temel farklarını hızlı bir şekilde açıklamaktadır:

Karşılaştırma Temeli Birincil anahtar Benzersiz anahtarı
Temel Birincil anahtar, tablodaki her kayıt için benzersiz bir tanımlayıcı olarak kullanılır. Benzersiz anahtar aynı zamanda birincil anahtarın tabloda bulunmadığı kayıtlar için de benzersiz bir tanımlayıcıdır.
HÜKÜMSÜZ NULL değerleri birincil anahtar sütununda saklayamayız. NULL değerini benzersiz anahtar sütununda saklayabiliriz, ancak yalnızca bir NULL'a izin verilir.
Amaç Varlık bütünlüğünü zorlar. Benzersiz verileri zorlar.
Dizin Birincil anahtar varsayılan olarak kümelenmiş dizin oluşturur. Benzersiz anahtar, varsayılan olarak kümelenmemiş bir dizin oluşturur.
Anahtar Sayısı Her tablo yalnızca bir birincil anahtarı destekler. Bir tablonun birden fazla benzersiz anahtarı olabilir.
Değer Değişikliği Birincil anahtar değerlerini değiştiremez veya silemeyiz. Benzersiz anahtar sütunu değerlerini değiştirebiliriz.
Kullanım Alanları Tablodaki her kaydı tanımlamak için kullanılır. NULL değeri dışında bir sütunda yinelenen girişlerin depolanmasını önler.
Sözdizimi Aşağıdaki sözdizimini kullanarak tabloda bir birincil anahtar sütunu oluşturabiliriz:
CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) )
Aşağıdaki sözdizimini kullanarak tabloda benzersiz bir anahtar sütunu oluşturabiliriz:
CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) )

Çözüm

Bu yazımızda birincil anahtar ve benzersiz anahtar kısıtlamaları arasında bir karşılaştırma yaptık. Burada, sütunların yinelenen değerler içermemesini istediğimizde benzersiz bir anahtarın yararlı olduğu sonucuna vardık. Ve birincil anahtar, tabloda NULL değerini tutmak istemediğimizde kullanışlıdır. Tablolar arasında ilişki oluşturmak için başka bir tabloda yabancı anahtarımızın olması da ideal olabilir.