süper anahtar - Superkey
Gelen ilişkisel veri modeli bir SuperKey a, dizi benzersiz bir şekilde tanımlayan niteliklerinin tuple a ilişkisi . Süper anahtar değerleri benzersiz olduğundan, aynı süper anahtar değerine sahip tanımlama grupları da aynı anahtar olmayan öznitelik değerlerine sahip olmalıdır. Yani, anahtar olmayan nitelikler işlevsel olarak süper anahtara bağlıdır .
Tüm öznitelikler kümesi her zaman bir süper anahtardır ( önemsiz süper anahtar ). Bir ilişkideki tanımlama grupları, her işlemden sonra kopyalar kaldırılarak tanım gereği benzersizdir, bu nedenle tüm nitelikler kümesi, her tanımlama grubu için her zaman benzersiz bir şekilde değerlenir. Bir aday temel (ya da çok az SuperKey ) bir öznitelik kaldırarak daha basit bir SuperKey indirgenemez bir SuperKey olup.
Örneğin, çalışan kimliği, ad, iş ve departman kimliği özelliklerine sahip bir çalışan şemasında, çalışan kimliği değerleri benzersizse, çalışan kimliği, diğer özniteliklerin herhangi biri veya tümü ile birlikte tablodaki tanımlama gruplarını benzersiz bir şekilde tanımlayabilir. {employeeID}, {employeeID, name}, {employeeID, name, job} vb. kombinasyonların her biri bir süper anahtardır. {employeeID} bir aday anahtardır; özniteliklerinin hiçbir alt kümesi aynı zamanda bir süper anahtar değildir. {employeeID, name, job, DepartmentID} önemsiz süper anahtardır.
Öznitelik grubu ise K ilişki bir SuperKey olan R , o zaman, her zaman bu durumda çıkıntı arasında R üzerinde K aynı olan önem düzeyi olarak R kendisi.
Misal
| Hükümdar Adı | Hükümdar Numarası | Kraliyet Evi |
|---|---|---|
| Edward | II | bitki ağı |
| Edward | III | bitki ağı |
| Richard | III | bitki ağı |
| Henry | IV | Lancaster |
İlk olarak, tüm nitelik kümelerini listeleyin:
- • {Hükümdar Adı}
- • {Hükümdar Numarası}
- • {Kraliyet Evi}
- • {Hükümdar Adı, Hükümdar Numarası}
- • {Hükümdar Adı, Kraliyet Evi}
- • {Hükümdar Numarası, Kraliyet Evi}
- • {Hükümdar Adı, Hükümdar Numarası, Kraliyet Evi}
İkincisi, bütün setleri ortadan yok SuperKey ihtiyacını karşılamak. Örneğin, {Monarch Name, Royal House} bir süper anahtar olamaz çünkü aynı öznitelik değerleri (Edward, Plantagenet) için iki farklı tanımlama grubu vardır:
- (Edward, II , Plantagenet)
- (Edward, III , Plantagenet)
Son olarak, elemeden sonra, kalan nitelik kümeleri bu örnekteki olası tek süper anahtarlardır:
- {Hükümdar Adı, Hükümdar Numarası} (Aday Anahtarı)
- {Hükümdar Adı, Hükümdar Numarası, Kraliyet Evi}
Gerçekte, süper anahtarlar, bir ilişkideki tek bir demet kümesini inceleyerek belirlenemez. Bir süper anahtar, o ilişki şemasının tüm olası örnek ilişkileri için tutması gereken bir ilişki şemasının işlevsel bir bağımlılık kısıtlamasını tanımlar .
Ayrıca bakınız
Referanslar
daha fazla okuma
- Silberschatz, İbrahim (2011). Veritabanı Sistem Kavramları (6. baskı) . McGraw-Hill. s. 45–46. ISBN'si 978-0-07-352332-3.
Dış bağlantılar
- İlişki Veritabanı referans şartları, Anahtarlar : Bir RDBMS'deki farklı anahtar türlerine genel bakış