DBMS'deki 7 Anahtar Türü Açıklaması
Yayınlanan: 2021-03-12İçindekiler
DBMS'deki Anahtarlar nelerdir?
DBMS'deki bir anahtar, bir ilişkideki (veya tablodaki) bir tanımlama grubunu (veya satırı) benzersiz bir şekilde tanımlamaya yardımcı olan bir öznitelik veya bir dizi özniteliktir. Anahtarlar, ilişkisel bir veritabanının farklı tabloları ve sütunları arasında ilişkiler kurmak için de kullanılır. Bir anahtardaki bireysel değerlere anahtar değerler denir.
Bu blog , DBMS'deki anahtarlar hakkında bilmeniz gereken her şeyi kapsayacak ve Herhangi bir ilişkinin (tablo) Anahtarını bulun . DBMS'deki anahtarlarla ilgili bazı kritik GATE soruları için makalenin sonuna kadar bekleyin.
Anahtarlar Neden Gereklidir?
Çeşitli bütünlük kısıtlamalarının tanımlarında bir anahtar kullanılır. Veritabanındaki bir tablo, belirli bir ilişki için bir kayıtlar veya olaylar koleksiyonunu temsil eder. Şimdi, bazıları çoğaltılabilecek binlerce ve binlerce kayıt olabilir.
Her kaydı ayrı ayrı ve benzersiz bir şekilde tanımlamanın bir yolu olmalıdır, yani kopya olmamalıdır. Anahtarlar, bu güçlükten kurtulmamızı sağlar.
Bir mühendislik kolejinde okuyan her öğrencinin veri tabanının gerçek hayattan bir örneğini ele alalım.
Öğrencinin hangi özelliğinin her birini benzersiz bir şekilde tanımlayacağını düşünüyorsunuz? Bir öğrenciye adını, bölümünü, yılını ve bölümünü kullanarak başvurabilirsiniz. Ya da sadece öğrencinin üniversite kayıt numarasını belirtebilir ve diğer tüm detayları oradan öğrenebilirsiniz.
Bir anahtar, birden fazla özniteliğin (veya sütunların) birleşimi veya yalnızca tek bir öznitelik olabilir. Bunun temel amacı, her kayda benzersiz bir kimlik vermektir .
Ayrıca Okuyun: DBMS ve RDBMS
DBMS'deki Anahtar Türleri
DBMS'de genel olarak yedi tür anahtar vardır:
- Birincil anahtar
- Aday Anahtarı
- Süper Anahtar
- Yabancı anahtar
- Bileşik Anahtar
- Alternatif Anahtar
- Benzersiz anahtarı
Her birine ayrı ayrı bakalım.
1. Birincil Anahtar
Birincil anahtar, bir tablonun sütunu veya o tabloda bulunan her kaydı benzersiz bir şekilde tanımlamaya yardımcı olan bir sütun kümesidir. Bir tabloda yalnızca bir birincil Anahtar olabilir. Ayrıca, birincil Anahtar, herhangi bir satır için tekrar eden aynı değerlere sahip olamaz. Birincil anahtarın her değeri, tekrar olmadan farklı olmalıdır.
Bir sütuna veya sütun kümesine konulan BİRİNCİL ANAHTAR (PK) kısıtlaması, bunların boş değerlere veya kopyalara sahip olmasına izin vermez. Bir tablonun yalnızca bir birincil anahtar kısıtlaması olabilir. Birincil anahtardaki herhangi bir değer, ona atıfta bulunan herhangi bir yabancı anahtar (aşağıda açıklanmıştır) tarafından değiştirilemez.
2. Süper Anahtar
Süper Anahtar, bir tablodaki satırları benzersiz bir şekilde tanımlamaya yardımcı olan tüm anahtarların kümesidir. Bu, bir tablonun diğer sütunlarını benzersiz bir şekilde tanımlayabilen tüm sütunlarının süper anahtar olarak kabul edileceği anlamına gelir.
Süper Anahtar, bir aday anahtarın üst kümesidir (aşağıda açıklanmıştır). Bir tablonun Birincil Anahtarı, tablonun kimlik özniteliği haline getirilmek üzere süper anahtar kümesinden alınır.
3. Aday Anahtarı
Aday anahtarlar, bir tablonun satırlarını benzersiz şekilde tanımlayan niteliklerdir. Bir tablonun Birincil Anahtarı, aday anahtarlardan birinden seçilir. Dolayısıyla aday anahtarlar, yukarıda açıklanan birincil anahtarlarla aynı özelliklere sahiptir. Bir tabloda birden fazla aday anahtar olabilir.
4. Alternatif Anahtar
Yukarıda belirtildiği gibi, bir tablonun birincil anahtar için birden çok seçeneği olabilir; ancak, yalnızca birini seçebilir. Bu nedenle, birincil Anahtar olmayan tüm anahtarlara alternatif anahtarlar denir.
5. Yabancı Anahtar
Yabancı Anahtar, iki tablo arasında ilişki kurmak için kullanılır. Yabancı anahtar, bir sütundaki veya sütun kümesindeki her bir değerin, referans tablosunun Birincil Anahtarıyla eşleşmesini gerektirir. Yabancı anahtarlar, verilerin ve referans bütünlüğünün korunmasına yardımcı olur.
6. Bileşik Anahtar
Bileşik Anahtar, bir tablodaki her bir tanımlama grubunu benzersiz şekilde tanımlamaya yardımcı olan iki veya daha fazla özellik kümesidir. Kümedeki nitelikler ayrı ayrı düşünüldüğünde benzersiz olmayabilir. Ancak hepsi bir arada ele alındığında benzersizliği sağlayacaktır.
7. Benzersiz Anahtar
Benzersiz Anahtar, bir tablodaki her kaydı benzersiz şekilde tanımlayan bir sütun veya sütunlar kümesidir. Bu Anahtarda tüm değerlerin benzersiz olması gerekir. Benzersiz bir Anahtar, yalnızca bir boş değere sahip olabileceğinden birincil anahtardan farklıdır, oysa birincil Anahtar herhangi bir boş değere sahip olamaz.
Fonksiyonel Bağımlılıklar
Artık DBMS'de farklı türde anahtarlar bildiğimize göre, bir veritabanından bir tablo verildiğinde bunları nasıl tanımlayacağımızı görelim. Bunun için fonksiyonel bağımlılıklar kavramını kullanıyoruz.
İşlevsel bağımlılık (FD), iki nitelik kümesi arasındaki bir kısıtlamadır. Bu kısıtlama, r'deki herhangi iki t1 ve t2 demeti için, eğer t1[X] = t2[X] ise, o zaman t1[Y] = t2[Y] olur. Bu, bir tanımlama grubunun X bileşeninin değerinin, Y bileşeninin değerini benzersiz şekilde belirlediği anlamına gelir.
FD, X olarak gösterilir? Y ("Y işlevsel olarak X'e bağımlıdır" olarak okunur). Sol tarafa determinant, sağ tarafa bağımlı denir.
Bir Özniteliğin Kapatılması
Bir kapatma , belirli bir FD kümesinden türetilen tüm olası FD'lerin bir kümesidir. Ayrıca tam bir FD seti olarak da adlandırılır. R ilişkisi için FD kümesini bağışlamak için F kullanılırsa, F ile ima edilen bir FD kümesinin kapanışı F+ ile gösterilir .
Şimdi belirli bir FD kümesiyle ilgili bir dizi özniteliğin kapanışını tanımlayacağız. İlişkinin süper Anahtarını belirlemeye ve belirli bir FD setinden bir FD'nin çıkarılıp çıkarılamayacağını veya bir FD'nin gereksiz olup olmadığını bulmaya yardımcı olacaktır . Bir ilişki üzerinde bir dizi işlevsel bağımlılık bulduktan sonraki adım, o ilişki (tablo) için Süper Anahtarı bulmaktır.
Daha sonra, herhangi bir tablonun bir özniteliğinin (veya öznitelik setinin) o tablo için bir anahtar olup olmadığına karar vermek için öznitelikler setinin kapanışını buluruz. İşlevsel olarak X özniteliğine bağlı olan öznitelikler kümesine X'in Öznitelik Kapanışı denir ve X+ olarak gösterilebilir.
F+'yı belirlemek için gereken bazı kurallar aşağıdadır:
- Yansıma: X, Y'nin bir üst kümesiyse veya Y, X'in bir alt kümesiyse, X ? Y.
- Büyütme: X ise? Y, sonra XZ? YZ. Veya Z ⊆W ve X ise? Y, sonra XW? YZ.
- Geçişlilik: X ise? Y ve Y? Z, sonra X? Z.
- Birlik: X ise? Y ve X? Z, sonra X? YZ.
- Ayrışma: X ise? YZ, sonra X? Y ve X? Z.
- Sözde Geçişlilik: X ise? Y ve YW? Z, sonra XW? Z.
Attribute Closure kullanarak Aday Anahtarları ve Süper Anahtarları nasıl bulabilirim?
- Bir öznitelik kümesinin öznitelik kapanışı, ilişkinin tüm özniteliklerini içeriyorsa, öznitelik seti, ilişkinin süper Anahtarı olacaktır.
- Bu öznitelik kümesinin hiçbir alt kümesi, tüm ilişki özniteliklerini işlevsel olarak belirleyemezse, bu küme aday anahtar olacaktır.
Öznitelik kapatma uygulamalarını görmek için önceden sorulan birkaç GATE sorusunu tartışalım.
KAPI 2014
R = {E, F, G, H, I, J, K, L, M, N} ilişki şemasını ve {{E, F} ? {G}, {F} ? {I, J}, {E, H} ? {K, L}, K ? {M}, L? {N} üzerinde R. R için anahtar nedir?
(A) {E, F}
(B) {E, F, H}
(C) {E, F, H, K, L}
(D) {E}
Yaklaşım: Sağlanan tüm seçeneklerin öznitelik kapanışını kontrol edeceğiz. Kapatılması bize R bağıntısının tamamını verecek olan küme doğru cevap olacaktır.
A: {E, F} + = {EFGIJ} ≠ R
B: {E, F, H} + = {EFGHIJKLMN} = R
C: {E, F, H, K, L} + = {EFGHIJKLMN} = R
D: {E} + = {E} ≠ R
Hem B hem de C seçenekleri bize tüm ilişki şemasını verir. Ancak, bir Aday Anahtarın minimum Süper Anahtar olması gerektiğinden , doğru yanıt olarak minimum seçeneği seçiyoruz .
Yanıt vermek: B
KAPI 2013
İlişki R, ABCDEFGH'nin sekiz özelliğine sahiptir. R alanları sadece atomik değerler içerir. F = {CH ? G, A? M.Ö., B? CF, E? A, F? EG} bir dizi işlevsel bağımlılıktır (FD'ler), böylece F+ tam olarak R için geçerli olan FD'ler kümesidir.
R ilişkisinin kaç aday anahtarı var?
(A) 3
(B) 4
(C) 5
(D) 6
Yaklaşım: Soruda verilen her işlevsel bağımlılığın LHS'sini alacağız ve öznitelik kapanışlarını bulacağız.
CH+ = G
A+ = ABCEFGH
B+ = ABCEFGH
E+ = ABCEFGH
F+ = ABCEFGH
Böylece A, B, E, F'nin kapanışlarının D özniteliği dışında tüm ilişkiye sahip olduğunu görüyoruz. Yani toplam 4 aday anahtar AD, BD, ED ve FD var.
Cevap: B
Dünyanın En İyi Üniversitelerinden Online Yazılım Kursları Öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Çözüm
Anahtarlar ve işlevsel bağımlılıklar, bir veritabanı tasarlamada çok hayati bir rol oynar. Bu kavramlar aynı zamanda iyi ve kötü veritabanı tasarımı arasındaki farkı bulmaya da yardımcı olur. Fazlalıkları kaldırmanın ve veritabanını verimli hale getirmenin son süreci, bu makalede bahsedilen tüm kavramları kullanan normalleştirmedir .
Full-stack geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ proje sunan Full-stack Yazılım Geliştirmede Yönetici PG Programına göz atın. ve görevler, IIIT-B Mezunları durumu, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.
DBMS'deki farklı anahtar türleri nelerdir?
Bir veritabanında kullanılan birkaç anahtar türü vardır. Birincil anahtar, bir tablodaki belirli bir satırı tanımlamak için kullanılır. Benzersiz anahtar, belirli bir tabloda yalnızca bir giriş olduğundan emin olmak için kullanılır. Bir tablodaki girdileri diğerine bağlamak için yabancı anahtar kullanılır. Bileşik anahtar, bir satırı tanımlamak için hep birlikte kullanılan bir tablodaki birkaç sütundan oluşan bir koleksiyondur. Bu anahtarlar, bir tablo satırının belirli bir sütununu doğru ve benzersiz bir şekilde tanımlamanıza yardımcı olur. Bu nedenle, kullanım durumunuza göre doğru sütunları anahtar olarak kullanmak çok önemlidir.
DBMS'de yabancı anahtar nedir?
Yabancı anahtar, bir tablonun satırlarını başka bir tablonun satırlarına bağlamak için kullanılan bir sütun veya bir dizi sütundur. Veri tutarsızlığını önlemek için kullanılır. DBMS'de yabancı anahtar, tek bir sütun veya bir dizi sütun (mantıksal sütun) kullanılarak uygulanır ve VTYS, bu sütunlardaki değerlerin, başvurulan sütunlardaki (birincil anahtar) değerlerle eşleşip eşleşmediğini kontrol eder. Örneğin, A tablosunun ve B tablosunun her ikisinin de A sütunu adında bir sütunu olduğunu varsayalım. A tablosundaki A sütununun, B tablosundaki A sütununa referans olduğunu söyleyebilirsiniz. Bu, yabancı anahtar değerinin işaret ettiği bir ok olarak düşünülebilir. hedef tablo.
DBMS'de bileşik anahtar nedir?
Bileşik anahtar bir süper anahtardır. Bir veya daha fazla sütunun birleşimidir. Farklı sütunların bir kombinasyonundan tek bir anahtarın oluşturulmasına izin verir. Ayrıca bileşik tanımlayıcı, bileşik anahtar veya bileşik anahtar olarak da adlandırılır. Kısacası, bir satırı benzersiz bir şekilde tanımlayabilecek tek bir sütununuz yoksa, tablonuzdaki benzersiz bir satırı tanımlamak için bir dizi sütun kullanabilirsiniz. Böyle bir durumda kullanacağınız tüm sütunların kümesi bileşik anahtar olarak kabul edilecektir. Bu nedenle, birden fazla sütunu olan bir birincil anahtarın, bileşik anahtar olarak yeniden adlandırıldığı haklı olarak söylenebilir.