Kratak odgovor: Da, može biti NULL ili duplikat Želim objasniti zašto strani ključ možda mora biti null ili možda mora biti jedinstven ili nije jedinstven. Prvo zapamtite da vanjski ključ jednostavno zahtijeva da vrijednost u tom polju mora postojati prvo u drugoj tablici (nadređenoj tablici). To je sve što je FK po definiciji.
Prihvaća li strani ključ nultu vrijednost?
Stranom ključu može se dodijeliti naziv ograničenja. … Strani ključ koji sadrži null vrijednosti ne može odgovarati vrijednostima roditeljskog ključa, budući da roditeljski ključ po definiciji ne može imati null vrijednosti. Međutim, null vrijednost stranog ključa uvijek je važeća, bez obzira na vrijednost bilo kojeg od njegovih dijelova koji nisu nuli.
Zašto su nulte vrijednosti dopuštene u stranom ključu?
Definiranje odnosa između roditeljske i podređene tablice
Bez ograničenja na strani ključ Kada na stranom ključu nisu definirana druga ograničenja, bilo koji broj redaka u podređenoj tablici može referencirati na ista vrijednost roditeljskog ključa Ovaj model dopušta null u stranom ključu.
Kako mogu dopustiti null u stranom ključu?
Budući da ograničenje stranog ključa zahtijeva da referentni ključ bude jedinstven, najbolje što možete učiniti je dopustiti jedan redak s ključem koji je NULL. U tom slučaju, morat ćete zamijeniti ograničenje Primary Key s ograničenjem Jedinstveni (ili indeks) i dopustiti stupac Zemlje. country_id treba biti NULL.
Možemo li umetnuti nulte vrijednosti u stupac stranog ključa?
Da, možete poništiti vrijednost u stupcu stranog ključa.