Home

fremmednøkkel

A fremmednøkkel, eller foreign key, er en kolonne eller en samling av kolonner i en tabell som refererer til primærnøkkelen i en annen tabell. Den etablerer en referanse mellom data i to tabeller og brukes for å opprettholde referensiell integritet i et relasjonsbasert databasesystem. Verdiene i fremmednøkkelen må derfor være verdier som finnes i den refererte tabellen, eller være null hvis det er tillatt.

Fremmednøkler gjør at relasjoner mellom tabeller kan modellere for eksempel én-til-mong forhold, der en liten tabell

I SQL defineres en fremmednøkkel som en begrensning (constraint) som peker fra en kolonne(i) i barnetabellen

Vanlige utfordringer inkluderer risikoen for ordrer uten gyldig kunde (orphan rows) ved ugyldige dataoppdateringer, og behovet

inneholder
referanser
til
mange
rader
i
en
større
tabell.
De
kan
være
enkeltnøkkelbaserte
eller
sammensatte
(hver
del
av
en
sammensatt
nøkkel
må
refereres).
De
fleste
databaser
støtter
handlinger
ved
endring
av
refererte
rader,
som
å
slette
eller
oppdatere;
vanlige
alternativer
inkluderer
cascade,
set
null,
restrict
og
no
action.
til
kolonne(i)
i
foreldretabellen.
Eksempel:
en
tabell
orders
med
kolonnen
customer_id
som
refererer
til
customers(customer_id).
Begrensningen
kan
inkluderes
i
en
CREATE
TABLE-uttalelse
eller
legges
til
senere.
Mange
databaser
krever
eller
anbefaler
at
fremmednøkkelen
har
indekser
for
å
forbedre
ytelsen
ved
join-operasjoner
og
ved
oppdateringer
eller
slettinger.
for
riktig
håndtering
av
bulkinnlasting
eller
sletting
av
relaterte
rader.
Fremmednøkler
er
et
sentralt
verktøy
for
å
sikre
konsistens
mellom
relaterte
tabeller
i
et
databaseskjema.