Yabancı anahtarlar, eşleşen PRIMARY veya UNIQUE anahtar olmasa bile tümü NULL olan anahtar değerlerine izin verir
Yabancı Anahtarda Kısıtlama Yok
Yabancı anahtarda başka bir sınır tanımlanmadığında, alt tablodaki herhangi bir sayıda satır aynı üst anahtar değerine başvurabilir. Bu model yabancı anahtarda boş değerlere izin verir. ...
Yabancı Anahtarda BOŞ NULL Kısıtlama
Yabancı anahtarda null değerlerine izin verilmediğinde, alt tablodaki her satırın yabancı anahtarda null değerlerine izin verilmediğinden, üst anahtardaki bir değere açıkça başvurması gerekir.
Alt tablodaki herhangi bir sayıda satır aynı üst anahtar değerine başvurabilir, bu nedenle bu model üst ve yabancı anahtarlar arasında bire çok ilişki kurar. Ancak, alt tablodaki her satırın bir üst anahtar değerine başvurması gerekir; yabancı anahtarda bir değerin (null) olmamasına izin verilmez. Önceki bölümdeki aynı örnek, böyle bir ilişkiyi göstermek için kullanılabilir. Ancak, bu durumda, çalışanların belirli bir departmana referans vermesi gerekir.
EŞSİZ Yabancı Anahtar Kısıtlaması
Yabancı anahtarda bir UNIQUE kısıtlaması tanımlandığında, alt tabloda yalnızca bir satır belirli bir üst anahtar değerine başvurabilir. Bu model yabancı anahtarda boş değerlere izin verir.
Bu model, ana anahtar ile yabancı anahtarlar arasında, yabancı anahtarda belirlenmemiş değerlere (null) izin veren bire bir ilişki kurar. Örneğin, çalışan tablosunda MEMBERNO adlı bir sütun bulunduğunu ve şirket sigorta planındaki çalışan üyelik numarasına atıfta bulunduğunu varsayın. Ayrıca, INSURANCE adlı bir tablonun MEMBERNO adlı birincil bir anahtarı vardır ve tablonun diğer sütunları çalışan sigorta poliçesi ile ilgili bilgileri tutar. Çalışan tablosundaki MEMBERNO, hem yabancı bir anahtar hem de benzersiz bir anahtar olmalıdır:
EMP_TAB ve SİGORTA tabloları arasında başvuru bütünlüğü kurallarını zorunlu kılmak için (FOREIGN KEY kısıtlaması)
Her çalışanın benzersiz bir üyelik numarasına sahip olmasını sağlamak için (UNIQUE anahtar kısıtı)
UNIQUE ve NULL DEĞİL Yabancı Anahtardaki Kısıtlamalar
Yabancı anahtarda UNIQUE ve NOT NULL kısıtlamaları tanımlandığında, alt tablodaki yalnızca bir satır belirli bir üst anahtar değerine başvurabilir ve yabancı anahtarda NULL değerlere izin verilmediğinden, alt tablodaki her satır açıkça başvuruda bulunmalıdır üst anahtardaki bir değer.