logo

Anahtarlar

  • Anahtarlar ilişkisel veritabanında önemli bir rol oynar.
  • Tablodaki herhangi bir kaydı veya veri satırını benzersiz şekilde tanımlamak için kullanılır. Ayrıca tablolar arasındaki ilişkileri kurmak ve tanımlamak için de kullanılır.

Örneğin, Kimlik, her öğrenci için benzersiz olduğundan Öğrenci tablosunda anahtar olarak kullanılır. KİŞİ tablosunda pasaport_numarası, lisans_numarası, SSN her kişi için benzersiz olduğundan anahtarlardır.

DBMS Anahtarları

Anahtar türleri:

DBMS Anahtarları

1. Birincil anahtar

  • Bir varlığın yalnızca bir örneğini benzersiz şekilde tanımlamak için kullanılan ilk anahtardır. PERSON tablosunda gördüğümüz gibi bir varlık birden fazla anahtar içerebilir. Bu listelerden en uygun olan anahtar birincil anahtar haline gelir.
  • EMPLOYEE tablosunda kimlik, her çalışan için benzersiz olduğundan birincil anahtar olabilir. EMPLOYEE tablosunda, aynı zamanda benzersiz oldukları için License_Number ve Passport_Number'ı birincil anahtar olarak bile seçebiliriz.
  • Her varlık için birincil anahtar seçimi gereksinimlere ve geliştiricilere dayanmaktadır.
DBMS Anahtarları

2. Aday anahtarı

  • Aday anahtar, bir tanımlama grubunu benzersiz şekilde tanımlayabilen bir nitelik veya nitelikler kümesidir.
  • Birincil anahtar dışındaki diğer özellikler aday anahtar olarak kabul edilir. Aday anahtarlar birincil anahtar kadar güçlüdür.

Örneğin: EMPLOYEE tablosunda kimlik, birincil anahtar için en uygun olanıdır. SSN, Passport_Number, License_Number vb. gibi geri kalan özellikler aday anahtar olarak kabul edilir.

DBMS Anahtarları

3. Süper Anahtar

Süper anahtar, bir tuple'ı benzersiz şekilde tanımlayabilen bir özellik kümesidir. Süper anahtar, aday anahtarın üst kümesidir.

DBMS Anahtarları

Örneğin: Yukarıdaki EMPLOYEE tablosunda, (EMPLOEE_ID, EMPLOYEE_NAME) için iki çalışanın adı aynı olabilir ancak EMPLYEE_ID'leri aynı olamaz. Dolayısıyla bu kombinasyon aynı zamanda bir anahtar olabilir.

Süper anahtar ÇALIŞAN-ID (EMPLOYEE_ID, ÇALIŞAN-NAME) vb. olacaktır.

4. Yabancı anahtar

  • Yabancı anahtarlar, başka bir tablonun birincil anahtarını işaret etmek için kullanılan tablonun sütunudur.
  • Her çalışan bir şirkette belirli bir departmanda çalışır ve çalışan ile departman iki farklı varlıktır. Dolayısıyla departmanın bilgilerini çalışan tablosunda saklayamayız. Bu yüzden bu iki tabloyu bir tablonun birincil anahtarı aracılığıyla birbirine bağlıyoruz.
  • DEPARTMENT tablosunun birincil anahtarı olan Departman_Id'yi EMPLOYEE tablosuna yeni bir özellik olarak ekliyoruz.
  • EMPLOYEE tablosunda, Departman_Id yabancı anahtardır ve her iki tablo da birbiriyle ilişkilidir.
DBMS Anahtarları

5. Alternatif anahtar

Bir ilişkideki her bir tanımlama grubunu benzersiz şekilde tanımlayan bir veya daha fazla nitelik veya niteliklerin bir kombinasyonu olabilir. Bu niteliklere veya niteliklerin birleşimlerine aday anahtarlar adı verilir. Bu aday anahtarlardan bir anahtar birincil anahtar olarak seçilir ve varsa kalan aday anahtara alternatif anahtar adı verilir. Başka bir deyişle, alternatif anahtarların toplam sayısı, aday anahtarların toplam sayısından birincil anahtarın çıkarılmasıyla elde edilir. Alternatif anahtar mevcut olabilir veya olmayabilir. Bir ilişkide yalnızca bir aday anahtar varsa, bunun alternatif anahtarı yoktur.

Örneğin, çalışan ilişkisinin aday anahtar görevi gören Çalışan_Kimliği ve PAN_No olmak üzere iki özelliği vardır. Bu ilişkide Employee_Id birincil anahtar olarak seçildiğinden diğer aday anahtar olan PAN_No, Alternatif anahtar görevi görmektedir.

ikili ağaç ve ikili arama ağacı arasındaki fark
DBMS Anahtarları

6. Bileşik anahtar

Birincil anahtar birden fazla öznitelikten oluştuğunda buna bileşik anahtar adı verilir. Bu anahtar aynı zamanda Birleştirilmiş Anahtar olarak da bilinir.

DBMS Anahtarları

Örneğin, Çalışan ilişkilerinde, bir çalışana birden fazla rol atanabileceğini ve bir çalışanın aynı anda birden fazla proje üzerinde çalışabileceğini varsayıyoruz. Dolayısıyla birincil anahtar, Emp_ID, Emp_role ve Proj_ID olmak üzere üç özelliğin birleşiminden oluşacaktır. Dolayısıyla, birincil anahtar birden fazla öznitelik içerdiğinden bu öznitelikler bileşik anahtar görevi görür.

DBMS Anahtarları

7. Yapay anahtar

Rastgele atanan veriler kullanılarak oluşturulan anahtarlara yapay anahtarlar denir. Bu anahtarlar, birincil anahtarın büyük ve karmaşık olması ve diğer birçok ilişkiyle hiçbir ilişkisinin olmaması durumunda oluşturulur. Yapay anahtarların veri değerleri genellikle seri sırayla numaralandırılır.

Örneğin, Çalışan ilişkilerinde Emp_ID, Emp_role ve Proj_ID'den oluşan birincil anahtar büyüktür. Bu nedenle, ilişkideki her bir tanımlama grubunu benzersiz şekilde tanımlamak için yeni bir sanal özellik eklemek daha iyi olacaktır.