Stručná odpoveď: Áno, môže to byť NULL alebo duplicitné Chcem vysvetliť, prečo môže byť cudzí kľúč null alebo môže byť potrebné, aby bol jedinečný alebo nie jedinečný. Najprv si zapamätajte, že cudzí kľúč jednoducho vyžaduje, aby hodnota v tomto poli najprv existovala v inej tabuľke (nadradenej tabuľke). To je všetko, čo FK podľa definície je.
Prijíma cudzí kľúč nulovú hodnotu?
Cudziemu kľúču možno priradiť názov obmedzenia. … Cudzí kľúč obsahujúci hodnoty null sa nemôže zhodovať s hodnotami nadradeného kľúča, pretože nadradený kľúč podľa definície nemôže mať žiadne hodnoty null. Avšak hodnota nulového cudzieho kľúča je vždy platná, bez ohľadu na hodnotu ktorejkoľvek z jeho nenulových častí.
Prečo sú v cudzom kľúči povolené hodnoty null?
Definovanie vzťahov medzi nadradenými a podradenými tabuľkami
Žiadne obmedzenia cudzieho kľúča Ak pre cudzí kľúč nie sú definované žiadne iné obmedzenia, ľubovoľný počet riadkov v podradenej tabuľke môže odkazovať na hodnota rovnakého nadradeného kľúča Tento model umožňuje nulové hodnoty v cudzom kľúči.
Ako povolím hodnotu null v cudzom kľúči?
Keďže obmedzenie cudzieho kľúča vyžaduje, aby bol odkazovaný kľúč jedinečný, najlepšie, čo môžete urobiť, je povoliť jeden riadok s kľúčom, ktorý má hodnotu NULL. V takom prípade budete musieť nahradiť obmedzenie primárneho kľúča jedinečným obmedzením (alebo indexom) a povoliť stĺpec Krajiny. country_id bude NULL.
Môžeme vložiť nulové hodnoty do stĺpca cudzieho kľúča?
Áno, v stĺpci cudzieho kľúča môžete hodnotu null.