DBMS Anahtarları: Örnekle Aday, Süper, Birincil, Yabancı Anahtar Türleri
DBMS'deki Anahtarlar nelerdir?
DBMS'deki ANAHTARLAR bir ilişkideki (tablo) bir satırı (demet) tanımlamanıza yardımcı olan bir nitelik veya nitelikler kümesidir. İki tablo arasındaki ilişkiyi bulmanızı sağlar. Anahtarlar, bir tablodaki bir satırı, o tablodaki bir veya daha fazla sütunun birleşimiyle benzersiz şekilde tanımlamanıza yardımcı olur. Anahtar ayrıca tablodan benzersiz bir kayıt veya satır bulmak için de faydalıdır. Veritabanı anahtarı ayrıca tablodan benzersiz kayıt veya satır bulmak için de faydalıdır.
Örnek:
Çalışan kimliği | İsim | Soyadı |
---|---|---|
11 | Andrew | Johnson |
22 | Tom | Ahşap |
33 | Alex | Dinç |
Yukarıda verilen örnekte, çalışan kimliği bir birincil anahtardır çünkü bir çalışan kaydını benzersiz şekilde tanımlar. Bu tabloda başka hiçbir çalışan aynı çalışan kimliğine sahip olamaz.
Neden bir Anahtara ihtiyacımız var?
DBMS sisteminde sql anahtarını kullanmanın bazı nedenleri şunlardır.
- Anahtarlar, bir tablodaki herhangi bir veri satırını tanımlamanıza yardımcı olur. Gerçek dünyadaki bir uygulamada bir tablo binlerce kayıt içerebilir. Üstelik kayıtlar çoğaltılabilir. RDBMS'deki anahtarlar, bu zorluklara rağmen bir tablo kaydını benzersiz şekilde tanımlayabilmenizi sağlar.
- Tablolar arasında ilişki kurmanıza ve tablolar arasındaki ilişkiyi tanımlamanıza olanak tanır
- İlişkide kimliği ve bütünlüğü güçlendirmenize yardımcı olun.
DBMS'deki (Veritabanı Yönetim Sistemi) Anahtar Türleri
DBMS'de esas olarak Sekiz farklı Anahtar türü vardır ve her anahtarın farklı işlevleri vardır:
- Süper Anahtar
- Birincil anahtar
- Aday Anahtarı
- Alternatif Anahtar
- Yabancı anahtar
- Bileşik Anahtar
- Kompozit Anahtar
- Vekil anahtarı
Örnek olarak DBMS'deki anahtarların her birine bakalım:
- Süper Anahtar – Süper anahtar, bir tablodaki satırları tanımlayan tekli veya çoklu anahtarlardan oluşan bir gruptur.
- Birincil anahtar - bir tablodaki her satırı benzersiz şekilde tanımlayan bir sütun veya sütun grubudur.
- Aday Anahtarı – bir tablodaki tanımlama gruplarını benzersiz şekilde tanımlayan bir dizi özelliktir. Aday Anahtarı, tekrarlanan nitelikleri olmayan bir süper anahtardır.
- Alternatif Anahtar – bir tablodaki her satırı benzersiz şekilde tanımlayan bir sütun veya sütun grubudur.
- Yabancı anahtar - iki tablo arasında ilişki oluşturan bir sütundur. Yabancı anahtarların amacı veri bütünlüğünü korumak ve bir varlığın iki farklı örneği arasında gezinmeye izin vermektir.
- Bileşik Anahtar – belirli bir kaydı benzersiz şekilde tanımanıza olanak tanıyan iki veya daha fazla özelliğe sahiptir. Veritabanında her sütunun kendi başına benzersiz olmaması mümkündür.
- Bileşik Anahtar – bir tablodaki satırları benzersiz şekilde tanımlayan iki veya daha fazla sütunun birleşimidir. Sütunların birleşimi benzersizliği garanti eder, ancak bireysel benzersizlik garanti edilmez.
- Vekil anahtarı - Her kaydı benzersiz şekilde tanımlamayı amaçlayan yapay anahtara yedek anahtar denir. Bu tür anahtarlar benzersizdir çünkü herhangi bir doğal birincil anahtarınız olmadığında oluşturulurlar.
Süper anahtar nedir?
Süper anahtar, bir tablodaki satırları tanımlayan tekli veya çoklu anahtarlardan oluşan bir gruptur. Bir Süper anahtar, benzersiz tanımlama için gerekli olmayan ek özelliklere sahip olabilir.
Örnek:
EmpSSN | EmpNum | İş adı |
---|---|---|
9812345098 | AB05 | Gösterilen |
9876512345 | AB06 | Roslyn |
199937890 | AB07 | James |
Yukarıda verilen örnekte EmpSSN ve EmpNum adı süper anahtarlardır.
Birincil Anahtar nedir?
BİRİNCİL ANAHTAR in DBMS bir tablodaki her satırı benzersiz şekilde tanımlayan bir sütun veya sütun grubudur. Birincil Anahtar kopya olamaz, yani aynı değer tabloda birden fazla görünemez. Bir tablonun birden fazla birincil anahtarı olamaz.
Birincil anahtarı tanımlama kuralları:
- İki satır aynı birincil anahtar değerine sahip olamaz
- Her satırın bir birincil anahtar değerine sahip olması gerekir.
- Birincil anahtar alanı boş olamaz.
- Herhangi bir yabancı anahtar bu birincil anahtara başvuruyorsa, birincil anahtar sütunundaki değer hiçbir zaman değiştirilemez veya güncellenemez.
Örnek:
Aşağıdaki örnekte, StudID
bir Birincil Anahtardır.
StudID | Rulo Hayır | İsim | Soyadı | E-posta |
---|---|---|---|---|
1 | 11 | Tom | Fiyat | abc@gmail.com |
2 | 12 | Nick | Wright | xyz@gmail.com |
3 | 13 | Dana | Natan | mno@yahoo.com |
Alternatif anahtar nedir?
ALTERNATİF TUŞLAR bir tablodaki her satırı benzersiz şekilde tanımlayan bir sütun veya sütun grubudur. Bir tablonun birincil anahtar için birden fazla seçeneği olabilir ancak yalnızca bir tanesi birincil anahtar olarak ayarlanabilir. Birincil anahtar olmayan tüm anahtarlara Alternatif Anahtar denir.
Örnek:
Bu tabloda StudID, Roll No, Email birincil anahtar olmaya hak kazanmıştır. Ancak StudID birincil anahtar olduğundan Roll No, Email alternatif anahtar haline gelir.
StudID | Rulo Hayır | İsim | Soyadı | E-posta |
---|---|---|---|---|
1 | 11 | Tom | Fiyat | abc@gmail.com |
2 | 12 | Nick | Wright | xyz@gmail.com |
3 | 13 | Dana | Natan | mno@yahoo.com |
Aday Anahtarı nedir?
ADAY ANAHTARI SQL'de bir tablodaki tuple'ları benzersiz şekilde tanımlayan bir dizi özelliktir. Aday Anahtarı, tekrarlanan nitelikleri olmayan bir süper anahtardır. Birincil anahtar aday anahtarlar arasından seçilmelidir. Her tabloda en az tek bir aday anahtarı bulunmalıdır. Bir tablonun birden fazla aday anahtarı olabilir ancak yalnızca tek bir birincil anahtarı olabilir.
Aday anahtarının özellikleri:
- Benzersiz değerler içermelidir
- SQL'deki aday anahtarının birden fazla özelliği olabilir
- Boş değerler içermemelidir
- Benzersizliği sağlamak için minimum alanlar içermelidir
- Bir tablodaki her kaydı benzersiz şekilde tanımlayın
Aday Anahtar Örnek: Verilen tabloda Öğrenci Kimliği, Öğrenci Numarası ve e-posta, tabloda öğrenci kaydını benzersiz şekilde tanımlamamıza yardımcı olan aday anahtarlardır.
StudID | Rulo Hayır | İsim | Soyadı | E-posta |
---|---|---|---|---|
1 | 11 | Tom | Fiyat | abc@gmail.com |
2 | 12 | Nick | Wright | xyz@gmail.com |
3 | 13 | Dana | Natan | mno@yahoo.com |
Yabancı anahtar nedir?
YABANCI ANAHTAR iki tablo arasında ilişki oluşturan bir sütundur. Yabancı anahtarların amacı veri bütünlüğünü korumak ve bir varlığın iki farklı örneği arasında gezinmeye izin vermektir. Başka bir tablonun birincil anahtarına referans verdiği için iki tablo arasında çapraz referans görevi görür.
Örnek:
DepartmanKodu | DepartmanAdı |
---|---|
001 | Bilim |
002 | İngilizce |
005 | Bilgisayar |
Öğretmen Kimliği | Fname | İsim |
---|---|---|
B002 | David | Warner |
B017 | Sara | Joseph |
B009 | mikrofon | Brunton |
Dbms örneğindeki bu anahtarda, bir okulda iki masa, öğretmen ve bölüm var. Ancak hangi aramanın hangi departmanda çalıştığını görmenin bir yolu yoktur.
Bu tabloda Deptcode'daki yabancı anahtarı Teacher ismine ekleyerek iki tablo arasında ilişki oluşturabiliriz.
Öğretmen Kimliği | DepartmanKodu | Fname | İsim |
---|---|---|---|
B002 | 002 | David | Warner |
B017 | 002 | Sara | Joseph |
B009 | 001 | mikrofon | Brunton |
Bu kavram aynı zamanda Referans olarak da bilinir. Integrity.
Bileşik anahtar nedir?
BİLEŞİK ANAHTAR belirli bir kaydı benzersiz şekilde tanımanıza olanak tanıyan iki veya daha fazla özelliğe sahiptir. Veritabanında her sütunun tek başına benzersiz olmaması mümkündür. Ancak diğer sütun veya sütunlarla birleştirildiğinde bileşik tuşların birleşimi benzersiz hale gelir. Veritabanındaki bileşik anahtarın amacı, tablodaki her kaydı benzersiz şekilde tanımlamaktır.
Örnek:
Sipariş No | Ürün Kimliği | Ürün adı | Adet |
---|---|---|---|
B005 | JAP102459 | Fare | 5 |
B005 | DKT321573 | USB | 10 |
B005 | Aman Tanrım446789 | LCD Monitör | 20 |
B004 | DKT321573 | USB | 15 |
B002 | Aman Tanrım446789 | Lazer yazıcı | 3 |
Bu örnekte Sipariş No ve Ürün Kimliği, bir kaydı benzersiz şekilde tanımlamadığından birincil anahtar olamaz. Ancak, her kaydı benzersiz şekilde tanımladığı için Sipariş Kimliği ve Ürün Kimliğinden oluşan bileşik bir anahtar kullanılabilir.
Bileşik anahtar nedir?
KOMPOZİT ANAHTAR bir tablodaki satırları benzersiz şekilde tanımlayan iki veya daha fazla sütunun birleşimidir. Sütunların birleşimi benzersizliği garanti eder, ancak bireysel benzersizlik garanti edilmez. Bu nedenle, bir tablodaki kayıtları benzersiz şekilde tanımlamak için birleştirilirler.
Bileşik anahtar ile bileşik anahtar arasındaki fark, bileşik anahtarın herhangi bir bölümünün yabancı anahtar olabilmesi, ancak bileşik anahtarın yabancı anahtarın bir parçası olabilmesi veya olmamasıdır.
Yedek anahtar nedir?
VEKİL ANAHTARLAR Her kaydı benzersiz şekilde tanımlamayı amaçlayan yapay anahtara yedek anahtar adı verilir. Dbms'deki bu tür kısmi anahtar benzersizdir çünkü herhangi bir doğal birincil anahtarınız olmadığında oluşturulur. Tablodaki verilere herhangi bir anlam kazandırmazlar. DBMS'deki yedek anahtar genellikle bir tam sayıdır. Yedek anahtar, kaydın tabloya eklenmesinden hemen önce oluşturulan bir değerdir.
Fname | Soyadı | Başlama zamanı | Bitiş Zamanı |
---|---|---|---|
Anne | Demirci | 09:00 | 18:00 |
kriko | Francis | 08:00 | 17:00 |
Anna | McLean | 11:00 | 20:00 |
Gösterilen | William | 14:00 | 23:00 |
Yukarıda verilen örnekte farklı çalışanın vardiya zamanlamaları gösterilmektedir. Bu örnekte, her çalışanı benzersiz şekilde tanımlamak için bir yedek anahtara ihtiyaç vardır.
Yedek anahtarlar sql ne zaman izin verilir
- Hiçbir özellik birincil anahtarın parametresine sahip değildir.
- Birincil anahtar çok büyük veya karmaşık olduğunda tabloda.
Birincil anahtar ile Yabancı anahtar Arasındaki Fark
Birincil anahtar ile yabancı anahtar arasındaki temel farklar şunlardır:
Birincil anahtar | Yabancı anahtar |
---|---|
Tablodaki bir kaydı benzersiz şekilde tanımlamanıza yardımcı olur. | Başka bir tablonun birincil anahtarı olan tablodaki bir alandır. |
Birincil Anahtar hiçbir zaman boş değerleri kabul etmez. | Bir yabancı anahtar birden fazla boş değer kabul edebilir. |
Birincil anahtar, kümelenmiş bir dizindir ve DBMS tablosundaki veriler, kümelenmiş dizinin sırasına göre fiziksel olarak düzenlenir. | Yabancı anahtar, kümelenmiş veya kümelenmemiş bir dizini otomatik olarak oluşturamaz. Ancak yabancı anahtarda manuel olarak bir dizin oluşturabilirsiniz. |
Bir tabloda tek Birincil anahtara sahip olabilirsiniz. | Bir tabloda birden fazla yabancı anahtarınız olabilir. |
ÖZET
- DBMS'de anahtar nedir: DBMS'deki anahtar, bir ilişkideki (tablo) bir satırı (demet) tanımlamanıza yardımcı olan bir nitelik veya nitelikler kümesidir.
- Anahtarlar RDBMS tablolar arasında ilişki kurmanıza ve tablolar arasındaki ilişkiyi tanımlamanıza olanak tanır
- DBMS'deki sekiz anahtar türü Süper, Birincil, Aday, Alternatif, Yabancı, Bileşik, Bileşik ve Vekil Anahtardır.
- Süper anahtar, bir tablodaki satırları tanımlayan tekli veya çoklu anahtarlardan oluşan bir gruptur.
- Bir tablodaki her satırı benzersiz şekilde tanımlamamıza yardımcı olan bir sütuna veya sütun grubuna birincil anahtar denir.
- DBMS'deki birincil anahtar olmayan tüm farklı anahtarlara alternatif anahtar adı verilir.
- Tekrarlanan özelliği olmayan bir süper anahtara aday anahtar denir
- Bileşik anahtar, belirli bir kaydı benzersiz şekilde tanımanıza olanak tanıyan birçok alana sahip bir anahtardır
- Bir tablodaki satırları benzersiz şekilde tanımlamak için birden fazla özniteliğe sahip olan anahtara bileşik anahtar adı verilir.
- Her kaydı benzersiz şekilde tanımlamayı amaçlayan yapay anahtara yedek anahtar adı verilir.
- Birincil Anahtar hiçbir zaman boş değerleri kabul etmez, yabancı anahtar ise birden fazla boş değeri kabul edebilir.