logo

DBMS'de Aday Anahtarı

A aday anahtarı olarak bilinen bir anahtarın parçasıdır. Süper Anahtar ( önceki bölümde tartışılmıştı ), burada süper anahtar, bir tabloyu benzersiz şekilde tanımlayabilen tüm bu niteliklerin süper kümesidir.

Burada aday anahtarı, rolü ve kullanımı hakkında tartışacağız. Ayrıca aday anahtar kavramını daha iyi anlamamızı sağlayacak bazı örneklere de bakacağız.

yönetmen Karan Johar

Aday Anahtarı Nedir?

Aday anahtar, yedek nitelik içermeyen anahtarın bir süper anahtar kümesinden başka bir şey olmadığı bir alt kümesidir. Aday Anahtarı . Süper anahtar kümesinden aday anahtarları seçebilmek için süper anahtar kümesine bakmamız gerekmektedir.

Aday Anahtarın Rolü

Aday anahtarın rolü, bir tablo satırını veya sütununu benzersiz şekilde tanımlamaktır. Ayrıca aday anahtarın değeri Null olamaz. Uzmanlara göre aday anahtarın tanımı, 'gereksiz niteliklerin olmaması' ve 'bir demetin minimum temsili' olmasıdır.

Aday anahtarın Birincil Anahtardan farkı nedir?

Hem adayın hem de birincil anahtarın amacı aynı olmasına rağmen, yani tuple'ları benzersiz bir şekilde tanımlamaktır ve birbirlerinden farklıdırlar. Bunun nedeni, bir tabloda bir veya birden fazla aday anahtarımız olabilmesine karşın, tablo için yalnızca bir birincil anahtar oluşturabilmemizdir. Böylece elde edilen aday anahtarların sayısından uygun birincil anahtarı belirleyebiliriz. Ancak bir tabloda yalnızca bir aday anahtar varsa bu her iki anahtar kısıtlama için de dikkate alınabilir.

inurl:.git/head

Aday Anahtarı Örneği

Bir aday anahtarın çalışmasını anlamak için Süper Anahtarı tartışırken alınan aynı örneğe bakalım.

Elimizde bir EMPLOYEE_DETAIL aşağıdaki özelliklere sahip olduğumuz tablo:

Emp_SSN: SSN numarası bu alanda saklanır.

Emp_ID: Çalışan kimlik numarasının değerini saklayan bir özellik.

int java'ya dize

Emp_name: Belirtilen çalışan kimliğine sahip çalışanın adını saklayan bir özellik.

Emp_e-posta: Belirtilen çalışanların e-posta kimliğini saklayan bir özellik.

EMPLOYEE_DETAIL Daha iyi anlamanıza yardımcı olacak tablo aşağıda verilmiştir:

DBMS'de Aday Anahtarı

Böylece, yukarıdaki tablodan aşağıda verilen süper anahtarları elde ettik (önceki bölümde tartışılmıştı):

DBMS'de Aday Anahtarı

Artık bu süper anahtar kümelerinden aday anahtarları çıkarabiliriz. Aday anahtarları alabilmenin en iyi yolu birincil anahtarları elimizden geldiğince analiz edip oluşturmaktır. Yani tek başına tüm tabloyu tanımlayabilecek süper anahtar kümelerinden bu kümeleri tanımlamamız gerekiyor veya tablonun diğer özelliklerini söyleyebiliriz. Sonuç şu:

c boolean
DBMS'de Aday Anahtarı

Yani bunlar, tablonun diğer asal olmayan niteliklerini tanımlayabilen, elde edilen üç niteliktir. Bunların hepsi aday anahtarlardır ve Birincil anahtar olarak tanımlayacağımız tablonun tüm kayıtlarını kolayca tanımlayabilecek en uygun özelliği seçebileceğimiz aday anahtarlardır.

Aday Anahtar ile Süper Anahtar arasındaki fark

Yukarıdaki tartışmalardan aşağıdaki fark noktalarına sahip olabiliriz:

Süper Anahtar Aday Anahtarı
Tabloyu benzersiz bir şekilde tanımlayabilen bu tür niteliklerin hepsinin üst kümesidir. Süper anahtarın alt kümesi veya parçasıdır.
Tüm süper anahtarların aday anahtar olması zorunlu değildir. Öte yandan tüm aday anahtarlar süper anahtarlardır.
Super key özelliği NULL olabilir, bu da değerlerinin null olabileceği anlamına gelir. Aday anahtarı tutan bir öznitelik hiçbir zaman NULL olamaz; bu, değerlerinin null olamayacağı anlamına gelir.
Aday anahtarları getirmek için tüm süper anahtarlar bir araya getirildi. Benzer şekilde, aday anahtarlar bir araya getirilerek birincil anahtarlar oluşturulur.
Oluşan süper tuşların sayısı her zaman daha fazla görülür. Burada Aday anahtarlar süper anahtarlardan daha azdır.

Yani süper anahtar süper küme, aday anahtar alt küme ve birincil anahtar da süper anahtarın alt alt kümesidir.