De nøkkelforskjell mellom fremmednøkkel og primærnøkkel er det fremmednøkkel er en kolonne eller et sett med kolonner som refererer til en primærnøkkel eller en kandidatnøkkel i et annet bord mens primærnøkkel er en kolonne eller et sett med kolonner som kan brukes til å unikt identifisere en rad i et bord.
En kolonne eller et sett med kolonner som kan brukes til å identifisere eller få tilgang til en rad eller et sett med rader i en database kalles en nøkkel. En primærnøkkel i en relasjonsdatabase er en kombinasjon av kolonner i et bord som unikt identifiserer en rad i tabellen. Utenlandsnøkkel i en relasjonsdatabase er et felt i et bord som samsvarer med primærnøkkelen til en annen tabell. Den utenlandske nøkkelen brukes til å krysse referansetabeller.
1. Oversikt og nøkkelforskjell
2. Hva er Utenlandsnøkkel
3. Hva er Primærnøkkel
4. Side ved side-sammenligning - Utenlandsnøkkel og Primærnøkkel i tabellform
5. Sammendrag
Utenlandsnøkkel er en referansebegrensning mellom to tabeller. Den identifiserer en kolonne eller et sett med kolonner i ett bord, kalt referansetabellen som refererer til et sett med kolonner i et annet bord, kalt referansetabellen. Den utenlandske nøkkelen eller kolonnene i referansetabellen må være den primære nøkkelen eller en kandidatnøkkel (en nøkkel som kan brukes som primærnøkkel) i referansetabellen. Videre tillater utenlandske nøkler å koble data over flere tabeller. Derfor kan den utenlandske nøkkelen ikke inneholde verdier som ikke vises i tabellen den refererer til. Da hjelper referansen fra den utenlandske nøkkelen til å koble informasjonen i flere tabeller, og dette vil bli viktig med normaliserte databaser. Flere rader i referansetabellen kan referere til en enkelt rad i referansetabellen.
Figur 01: Utenlandsnøkkelkartlegging
I ANSI SQL-standarden definerer URE-KEY-begrensningen utenlandske taster. Videre er det mulig å definere de fremmede nøklene når du oppretter selve tabellen. Et bord kan ha flere utenlandske nøkler, og de kan referere til forskjellige tabeller.
Primærnøkkel er en kolonne eller en kombinasjon av kolonner som unikt definerer en rad i en tabell av en relasjonsdatabase. Et bord kan ha maksimalt en primærnøkkel. Primærnøkkel håndhever den implicitte NOT NULL-begrensningen. Derfor kan en kolonne med primærnøkkel ikke ha NULL-verdier i den. Primærnøkkel kan være et normalt attributt i tabellen som garantert er unikt, for eksempel et personnummer, eller det kan være en unik verdi generert av databasebehandlingssystemet, for eksempel en globalt unik identifikator (GUID) i Microsoft SQL Server.
Figur 02: Primærnøkkel
Videre definerer PRIMARY KEY-begrensningen i ANSI SQL Standard primærnøklene. Det er også mulig å definere en primærnøkkel når du lager bordet. I tillegg til at SQL lar primærnøkkel utgjør en eller flere kolonner, og hver kolonne som er inkludert i primærnøkkelen, er implisitt definert til å være IKKE NULL. Men noen databasebehandlingssystemer krever at primærnøkkelkolonnene eksplisitt IKKE NULL.
Utenlandsnøkkel vs Primærnøkkel | |
Utenlandsnøkkel er en kolonne eller gruppe av kolonner i en relationsdatabase tabell som gir en tilknytning mellom data i to tabeller. | Primærnøkkel er en spesiell relasjonsdatabasetabellkolonne eller en kombinasjon av flere kolonner som gjør det mulig å unikt identifisere alle tabelloppføringer. |
NULL | |
Utenlandsnøkkel aksepterer NULL-verdi. | Primærnøkkelverdien kan ikke være NULL. |
Antall nøkler | |
Tabellen kan ha flere utenlandske nøkler. | Tabellen kan bare ha en primærnøkkel. |
duplisering | |
Tuples kan ha en duplikatverdi for en utenlandsk nøkkelattributt. | To tuples i et forhold kan ikke ha dupliserte verdier for en primærnøkkelattributt. |
Forskjellen mellom fremmednøkkel og primærnøkkel er at fremmednøkkel er en kolonne eller et sett med kolonner som refererer til en primærnøkkel eller en kandidatnøkkel i et annet bord mens primærnøkkel er en kolonne eller et sett med kolonner som kan brukes til unikt identifiser en rad i et bord.
1. "Foreign Key." Wikipedia, Wikimedia Foundation, 12. mai 2018. Tilgjengelig her
2. "Primærnøkkel." Wikipedia, Wikimedia Foundation, 3. april 2018. Tilgjengelig her
1.'Foreign-Key-Mapping'By MovGP0 - Eget arbeid, (CC BY-SA 3.0) via Commons Wikimedia
2.'Erd-ID-som-primær-nøkkel 'Med UniCollab - Eget arbeid, (CC BY-SA 3.0) via Commons Wikimedia