DBMS'deki Anahtarlar nelerdir?
DBMS'deki ANAHTARLAR, bir ilişkideki (tablo) bir satırı (tuple) tanımlamanıza yardımcı olan bir öznitelik veya öznitelikler kümesidir. İki tablo arasındaki ilişkiyi bulmanızı sağlarlar. 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, tablodan benzersiz bir kayıt veya satır bulmak için de yararlıdır. Veritabanı anahtarı, tablodan benzersiz kayıt veya satır bulmak için de yararlıdır.
Misal:
Çalışan kimliği | İsim | Soyadı |
11 | Andrew | Johnson |
22 | Tom | Odun |
33 | Alex | Hale |
Yukarıda verilen örnekte, çalışan kimliği, bir çalışan kaydını benzersiz şekilde tanımladığı için birincil anahtardır. Bu tabloda, başka hiçbir çalışan aynı çalışan kimliğine sahip olamaz.
Bu eğitimde şunları öğreneceksiniz:
- Anahtarlar nedir?
- Neden bir Anahtara ihtiyacımız var?
- Veritabanı Yönetim Sisteminde Çeşitli Anahtarlar
- Süper anahtar nedir?
- Birincil Anahtar nedir?
- Alternatif anahtar nedir?
- Aday Anahtarı nedir?
- Yabancı anahtar nedir?
- Bileşik anahtar nedir?
- Bileşik anahtar nedir?
- Vekil Anahtar Nedir?
- Birincil Anahtar ve Yabancı Anahtar Arasındaki Fark
Neden bir Anahtara ihtiyacımız var?
DBMS sisteminde sql anahtarının kullanılmasının bazı nedenleri.
- Anahtarlar, bir tablodaki herhangi bir veri satırını tanımlamanıza yardımcı olur. Gerçek dünya uygulamasında, bir tablo binlerce kayıt içerebilir. Ayrıca kayıtlar çoğaltılabilir. Anahtarlar, bu zorluklara rağmen bir tablo kaydını benzersiz şekilde tanımlayabilmenizi sağlar.
- Tablolar arasında bir ilişki kurmanıza ve aralarındaki ilişkiyi belirlemenize izin verir
- İlişkide kimliği ve bütünlüğü güçlendirmenize yardımcı olur.
Veritabanı Yönetim Sistemindeki Anahtar Türleri
DBMS'de başlıca yedi farklı Anahtar türü vardır ve her anahtarın farklı işlevleri vardır:
- Süper Anahtar - Süper anahtar, bir tablodaki satırları tanımlayan tekli veya çoklu anahtardan oluşan bir gruptur.
- Birincil Anahtar - bir tablodaki her satırı benzersiz bir şekilde tanımlayan bir tablodaki sütun veya sütun grubudur.
- Aday Anahtar - bir tablodaki tupleları benzersiz şekilde tanımlayan bir öznitelikler kümesidir. Aday Anahtarı, tekrarlanan niteliklere sahip olmayan bir süper anahtardır.
- Alternatif Anahtar - bir tablodaki her satırı benzersiz bir şekilde tanımlayan bir tablo 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 izin veren iki veya daha fazla özniteliğe sahiptir. Veritabanında her bir sütunun kendi başına benzersiz olmaması mümkündür.
- Bileşik Anahtar - Her kaydı benzersiz şekilde tanımlamayı amaçlayan yapay bir anahtara vekil anahtar denir. Bu tür anahtarlar benzersizdir çünkü doğal birincil anahtarınız olmadığında oluşturulurlar.
- Vekil Anahtar - Her kaydı benzersiz bir şekilde tanımlamayı amaçlayan yapay bir anahtara vekil anahtar denir. Bu tür anahtarlar benzersizdir çünkü doğal birincil anahtarınız olmadığında oluşturulurlar.
Süper anahtar nedir?
Bir süper anahtar, bir tablodaki satırları tanımlayan tekli veya çoklu anahtardan oluşan bir gruptur. Bir Süper anahtar, benzersiz tanımlama için gerekli olmayan ek özelliklere sahip olabilir.
Misal:
EmpSSN | EmpNum | Empname |
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 , bir tablodaki her satırı benzersiz şekilde tanımlayan bir sütun veya sütun grubudur. Birincil Anahtar yinelenemez, 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 birincil anahtar değerine sahip olması gerekir.
- Birincil anahtar alanı boş olamaz.
- Bir birincil anahtar sütunundaki değer, herhangi bir yabancı anahtar bu birincil anahtara atıfta bulunuyorsa hiçbir zaman değiştirilemez veya güncellenemez.
Misal:
Aşağıdaki örnekte, StudID
bir Birincil Anahtardır.
StudID | Hayır | İsim | Soyadı | E-posta adresi |
1 | 11 | Tom | Fiyat | Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir. |
2 | 12 | Nick | Wright | Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir. |
3 | 13 | Dana | Natan | Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir. |
Alternatif anahtar nedir?
ALTERNATİF TUŞLAR , bir tablodaki her satırı benzersiz bir şekilde tanımlayan bir sütun veya sütun grubudur. Bir tablo, bir birincil anahtar için birden çok seçeneğe sahip olabilir, ancak yalnızca biri birincil anahtar olarak ayarlanabilir. Birincil anahtar olmayan tüm anahtarlara Alternatif Anahtar denir.
Misal:
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 | Hayır | İsim | Soyadı | E-posta adresi |
1 | 11 | Tom | Fiyat | Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir. |
2 | 12 | Nick | Wright | Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir. |
3 | 13 | Dana | Natan | Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir. |
Aday Anahtarı nedir?
CANDIDATE ANAHTARI , bir tablodaki tupl'ları benzersiz şekilde tanımlayan bir öznitelikler kümesidir. Aday Anahtarı, tekrarlanan niteliklere sahip olmayan bir süper anahtardır. Birincil anahtar, aday anahtarlardan seçilmelidir. Her tablonun en az bir aday anahtarı olmalı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
- Aday anahtarın birden çok ö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
Örnek: Verilen tabloda, Damızlık Kimliği, Rulo No ve e-posta, tablodaki öğrenci kaydını benzersiz şekilde tanımlamamıza yardımcı olan aday anahtarlardır.
StudID | Hayır | İsim | Soyadı | E-posta adresi |
1 | 11 | Tom | Fiyat | Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir. |
2 | 12 | Nick | Wright | Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir. |
3 | 13 | Dana | Natan | Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir. |
Yabancı anahtar nedir?
FOREIGN KEY , 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 başvurduğu için iki tablo arasında çapraz referans görevi görür.
Misal:
DeptCode | DeptName |
001 | Bilim |
002 | İngilizce |
005 | Bilgisayar |
Öğretmen Kimliği | Fname | Lname |
B002 | David | Warner |
B017 | Sara | Yusuf |
B009 | Mike | Brunton |
Dbms örneğindeki bu anahtarda, bir okulda iki masamız, öğretim ve bölümümüz var. Ancak hangi departmanda hangi aramanın işe yaradığı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 | DeptCode | Fname | Lname |
B002 | 002 | David | Warner |
B017 | 002 | Sara | Yusuf |
B009 | 001 | Mike | Brunton |
Bu kavram aynı zamanda Referans Bütünlüğü olarak da bilinir.
Bileşik anahtar nedir?
BİLEŞİK ANAHTAR , belirli bir kaydı benzersiz şekilde tanımanıza izin veren iki veya daha fazla özelliğe sahiptir. Veritabanında her bir sütunun kendi başına benzersiz olmaması mümkündür. Ancak, diğer sütun veya sütunlarla birleştirildiğinde, bileşik anahtarların kombinasyonu benzersiz hale gelir. Veritabanındaki bileşik anahtarın amacı, tablodaki her kaydı benzersiz şekilde tanımlamaktır.
Misal:
Sipariş No | PorductID | Ürün adı | Miktar |
B005 | JAP102459 | Fare | 5 |
B005 | DKT321573 | USB | 10 |
B005 | OMG446789 | LCD ekran | 20 |
B004 | DKT321573 | USB | 15 |
B002 | OMG446789 | Lazer yazıcı | 3 |
Bu örnekte, SiparişNo ve ÜrünKimliği, bir kaydı benzersiz olarak tanımlamadığı için birincil anahtar olamaz. Ancak, her kaydı benzersiz bir şekilde tanımladığı için, Sipariş Kimliği ve Ürün Kimliğinin bileşik anahtarı kullanılabilir.
Bileşik anahtar nedir?
COMPOSITE ANAHTARI , bir tablodaki satırları benzersiz şekilde tanımlayan iki veya daha fazla sütunun birleşimidir. Sütunların kombinasyonu benzersizliği garanti etse de, tek tek benzersizlik garanti edilmez. Bu nedenle, bir tablodaki kayıtları benzersiz şekilde tanımlamak için birleştirilirler.
Bileşik ve bileşik anahtar arasındaki fark, bileşik anahtarın herhangi bir kısmının yabancı anahtar olabilmesidir, ancak bileşik anahtar yabancı anahtarın bir parçası olabilir veya olmayabilir.
Vekil anahtar nedir?
SURROGATE ANAHTARLARI , her kaydı benzersiz bir şekilde tanımlamayı amaçlayan yapay bir anahtara vekil anahtar denir. 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 vermezler. Vekil anahtar genellikle bir tamsayıdır. Vekil anahtar, kayıt bir tabloya eklenmeden hemen önce üretilen bir değerdir.
Fname | Soyadı | Başlangıç saati | Bitiş zamanı |
Anne | Smith | 09:00 | 18:00 |
Jack | Francis | 08:00 | 17:00 |
Anna | McLean | 11:00 | 20:00 |
Gösterilen | Willam | 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 vekil anahtar gereklidir.
Sql'de vekil anahtarlara şu durumlarda izin verilir:
- Hiçbir özellik birincil anahtarın parametresine sahip değildir.
- Tabloda birincil anahtar çok büyük veya karmaşık olduğunda.
Birincil Anahtar ve Yabancı Anahtar Arasındaki Fark
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 çok boş değeri kabul edebilir. |
Birincil anahtar, kümelenmiş bir dizindir ve DBMS tablosundaki veriler, kümelenmiş dizinin sırasına göre fiziksel olarak düzenlenir. | Bir 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 çok yabancı anahtarınız olabilir. |
Özet
- SQL'deki bir anahtar, bir ilişkideki (tablo) bir satırı (tuple) tanımlamanıza yardımcı olan bir nitelik veya nitelikler kümesidir.
- DBMS anahtarları, tablolar arasında bir ilişki kurmanıza ve bu ilişkiyi belirlemenize olanak tanır
- Yedi Tür DBMS anahtarı Süper, Birincil, Aday, Alternatif, Yabancı, Bileşik, Bileşik ve Vekil Anahtar'dır.
- Süper anahtar, bir tablodaki satırları tanımlayan tekli veya çoklu anahtardan oluşan bir gruptur.
- Tablodaki her satırı benzersiz bir şekilde tanımlamamıza yardımcı olan bir tablodaki bir sütun veya sütun grubuna birincil anahtar denir.
- Birincil anahtar olmayan tüm anahtarlara alternatif anahtar denir
- Tekrarlanan özelliği olmayan bir süper anahtara aday anahtar denir
- Bileşik anahtar, belirli bir kaydı benzersiz şekilde tanımanıza izin veren birçok alana sahip bir anahtardır.
- Bir tablodaki satırları benzersiz şekilde tanımlamak için birden çok özelliği olan bir anahtara bileşik anahtar denir
- Her kaydı benzersiz bir şekilde tanımlamayı amaçlayan yapay bir anahtara vekil anahtar denir
- Birincil Anahtar hiçbir zaman boş değerleri kabul etmezken, yabancı anahtar birden çok boş değeri kabul edebilir.