DBMS’de Birincil ve Yabancı Anahtar Arasındaki Fark

Yazar: Laura McKinney
Yaratılış Tarihi: 1 Nisan 2021
Güncelleme Tarihi: 12 Mayıs Ayı 2024
Anonim
DBMS’de Birincil ve Yabancı Anahtar Arasındaki Fark - Teknoloji
DBMS’de Birincil ve Yabancı Anahtar Arasındaki Fark - Teknoloji

İçerik


Anahtarlar, şemadaki tablolar arasında bir ilişki tanımlamak ve kurmak için kullanılan DBMS'nin önemli bir parçasıdır. Şimdi, bugün DBMS'nin iki önemli anahtarını ele alacağız, yani Birincil anahtar ve Yabancı anahtar ve ayrıca birincil anahtar ve yabancı anahtar arasındaki farkı tartışacağız. Yolda, birincil anahtar olan birincil ve yabancı anahtar arasındaki temel farkı size söyleyeyim, veritabanı tasarımcısı tarafından seçilen aday anahtarlardan biridir, yabancı anahtar ise başka bir ilişkinin birincil anahtarını ifade eden bir anahtardır.

Bu ikisi arasında birçok farklılıklar var, bu farkları aşağıda gösterilen karşılaştırma tablosu yardımıyla tanımlayalım.

  1. Karşılaştırma Tablosu
  2. Tanım
  3. Anahtar Farklılıklar
  4. Sonuç

Karşılaştırma Tablosu

Karşılaştırma için temelBirincil anahtarYabancı anahtar
TemelBirincil Anahtar, ilişkide benzersiz bir tanım tanımlayan seçili bir aday anahtardır.Bir tablodaki yabancı anahtar, diğer tablonun birincil anahtarını belirtir.
BOŞBirincil anahtar değeri hiçbir zaman NULL olamaz.Yabancı anahtar NULL değeri kabul eder.
Çiftİlişkideki hiçbir iki anahtar, bir birincil anahtar niteliği için yinelenen değerler taşımaz.Tuples, bir yabancı anahtar niteliği için yinelenen değer taşıyabilir.
menzilBir ilişkinin yalnızca bir birincil anahtarı olabilir.Bir ilişkide birden fazla yabancı anahtar olabilir.
Geçici tabloBirincil anahtar kısıtlaması geçici tablolarda tanımlanabilir.Yabancı anahtar kısıtlaması geçici tablolarda tanımlanamaz.
Kümelenmiş indeksVarsayılan olarak, bir birincil anahtar dizinlenmiş olarak kümelenir.Yabancı anahtar otomatik olarak dizine eklenmemiş; manuel olarak yapılması gerekir.
sokmaBaşvurulan yabancı anahtarın sütununda bu değer olmasa bile, birincil anahtar özelliğine bir değer ekleyebiliriz.Başvurulan birincil anahtar sütununda mevcut değilse, yabancı bir tuşa değer ekleyemeyiz.
silmeBirincil anahtar değerini silmeden önce, bu değerin referans tablosunun referans yabancı anahtar sütununda hala mevcut olmadığından emin olun.Yabancı anahtar sütundan bir değeri rahatsız etmeden silebilirsiniz, bu değerin başvurulan ilişkinin başvurulan birincil anahtar sütununda olup olmadığı.


Birincil Anahtarın Tanımı

Birincil anahtar benzersiz Tekilleri bir ilişki içinde tanımlar. İlişkideki tek bir özellik olabilir veya ilişkideki bir dizi özellik olabilir. Birincil anahtar niteliğinin değeri; asla veya nadiren değişmedi. Çünkü o bir temeldir, veritabanındaki herhangi bir kaydı tanımlamak anlamına gelir. Birincil anahtarın herhangi bir öznitelik değerindeki değişiklik karışıklık yaratacaktır.

Veritabanı tasarımcısı birini seçer aday anahtarlar Birincil anahtar olarak, bazı noktaları göz önünde bulundurarak. İlk değerlendirme, asla içeremeyeceği bir birincil anahtar özellik değeridir. BOŞ değer. Çünkü, bir birincil anahtar öznitelik değeri NULL içeriyorsa, bu kaydı tabloda tanımlayamıyoruz demektir. Aynı zamanda varlık bütünlüğü kısıtlamasını da ihlal eder. İkinci husus, iki kadın yok bir tabloda içerebilir aynı Bir birincil anahtar niteliğinin değeri, tüller arasında benzersizliği ihlal ettiği için.


Sadece olabilir bir birincil anahtar herhangi ilişki. Birincil anahtar varsayılandır küme endeksliBu, bir tablodaki tüm tupl'lerin, birincil anahtar nitelik değerlerine göre sıralandığı anlamına gelir. Birincil anahtar kısıtı bir geçici masa. Sorgu yürütülürken yaratılan ara tablolara geçici tablo denir.

Süre silme Bir ilişkiden bir not, silinen bağlantının birincil anahtar değerinin hala referans ilişkisinin yabancı anahtar sütununda bulunmamasına dikkat edilmelidir. Oysa sokma Birincil anahtar üzerinde herhangi bir kısıtlama yoktur.

Bir tablonun birincil anahtarı, başka bir tabloda kullanıldığında, o tablonun yabancı anahtarı olur. Yabancı anahtar kısıtlamaları aşağıda tartışılmaktadır.

Yabancı Anahtarın Tanımı

Ne zaman bir ilişki R1,, özellikleri arasında, bir birincil anahtar diğer ilişkilerin R2,, o zaman bu öznitelik denir Yabancı anahtar ilişki için R1,. İlişki R1, yabancı anahtarı içeren referans veren ilişki R2 ile ilişkinin birincil anahtarını ifade ettiği gibi R2, denir başvurulan ilişki.
Birincil anahtarın aksine, yabancı anahtar kabul edebilir BOŞ çünkü değerler, bunun için birincil anahtarımız olduğundan, bir ilişkide ayrı bir kayıt bulma görevi yoktur. Aynı şekilde, yabancı anahtar da kabul eder yinelenen değerler.

Bir ilişki olabilir çoklu yabancı anahtarlar, farklı ilişkilerde birincil anahtar olan farklı özelliklere sahip olabileceği için. Yabancı anahtar kısıtlaması olabilir değil tanımlanmak geçici tablolar, ne de yabancı anahtar bir küme endeksli özniteliği.

Süre ekleme referans ilişkisinin yabancı anahtar sütununa bir değer ekleyerek, başvurulan ilişkinin birincil anahtar sütununda ekleme değerinin bulunması gerektiğinden emin olun. Oysaki silme yabancı anahtar sütunundan bir değer.

  1. Birincil, bir ilişkideki kaydı açıkça tanımlayan bir dizi nitelik / aday anahtarıdır. Bununla birlikte, tablodaki bir yabancı anahtar başka bir tablonun birincil anahtarını belirtir.
  2. Hiçbir birincil anahtar özelliği NULL değer içeremezken, yabancı bir anahtar özelliği NULL değerini kabul edebilir.
  3. Birincil anahtarın benzersiz özellik değerleri olmalıdır; yabancı bir anahtarın da yinelenen özellik değerleri olabilir.
  4. İlişkide birden fazla yabancı anahtar olabilir, ancak ilişkinin yalnızca bir birincil anahtarı vardır.
  5. Birincil anahtar kısıtlaması geçici tablolara uygulanabilir. Ancak, yabancı anahtar kısıtlamaları geçici tablolara uygulanamaz.
  6. Birincil anahtar, varsayılan olarak kümelenmiş dizinlenir, oysa yabancı bir anahtar otomatik olarak küme dizinlenmez, ancak manuel olarak yapılabilir.
  7. Bir yabancı anahtar sütununa bir değer eklerken, ekleme niteliğinin başvurulan birincil anahtar sütununda bulunduğundan emin olun. Ancak, birincil anahtar sütuna yerleştirme ile ilgili herhangi bir kısıtlama yoktur.
  8. Birincil anahtar sütundan bir değeri silerken, referans niteliğindeki yabancı anahtar sütunda silinen öznitelik değerinin bulunmadığından emin olun. Ancak, bir yabancı anahtar sütundan bir değer silmek için herhangi bir kısıtlama yoktur.

Sonuç:

Hem birincil anahtar hem de yabancı anahtar bir şema için gereklidir. Bir birincil anahtar, her bir bağlantıyı benzersiz bir ilişkide tanımlarken, iki ilişki arasında bir bağlantı oluşturmak için bir yabancı anahtar kullanılır.