Forskel mellem Fremmed nøgle og Primær nøgle

Det vigtigste forskel mellem fremmed nøgle og primær nøgle er det fremmed nøgle er en kolonne eller et sæt kolonner, der refererer til en primær nøgle eller en kandidatnøgle i en anden tabel, mens primær nøgle er en kolonne eller et sæt kolonner, der kan bruges til unikt at identificere en række i en tabel.

En kolonne eller et sæt kolonner, der kan bruges til at identificere eller få adgang til en række eller et sæt rækker i en database kaldes en nøgle. En primær nøgle i en relationsdatabase er en kombination af kolonner i en tabel, der unikt identificerer en række af tabellen. Fremmed nøgle i en relationsdatabase er et felt i en tabel, der matcher den primære nøgle i en anden tabel. Den udenlandske nøgle bruges til at krydse henvisningstabeller.

INDHOLD

1. Oversigt og nøgleforskel
2. Hvad er udenlandsk nøgle
3. Hvad er primær nøgle
4. Sammenligning side ved side - Fremmed nøgle og Primær nøgle i tabelform
5. Resume

Hvad er udenlandsk nøgle?

Fremmed nøgle er en referencebegrænsning mellem to tabeller. Den identificerer en kolonne eller et sæt kolonner i en tabel, kaldet referencetabellen, der henviser til et sæt kolonner i en anden tabel, kaldet den refererede tabel. Den fremmednøgle eller kolonnerne i referencetabellen skal være den primære nøgle eller en kandidatnøgle (en nøgle, der kan bruges som den primære nøgle) i den refererede tabel. Desuden tillader udenlandske nøgler at linke data på tværs af flere tabeller. Derfor kan den udenlandske nøgle ikke indeholde værdier, der ikke vises i den tabel, den refererer til. Derefter hjælper henvisningen fra den udenlandske nøgle til at linke information i flere tabeller, og dette ville blive vigtigt med normaliserede databaser. Flere rækker i referencetabellen refererer muligvis til en enkelt række i den refererede tabel.

Figur 01: Kortlægning af fremmed nøgler

I ANSI SQL-standard definerer FOREIGN KEY-begrænsningen udenlandske nøgler. Desuden er det muligt at definere de fremmede taster, når man opretter selve tabellen. En tabel kan have flere fremmede nøgler, og de kan henvise til forskellige tabeller.

Hvad er primær nøgle?

Primær nøgle er en kolonne eller en kombination af kolonner, der unikt definerer en række i en tabel i en relationel database. En tabel kan højst have en primær nøgle. Primær nøgle håndhæver den implicitte IKKE NULL-begrænsning. Derfor kan en kolonne med primær nøgle ikke have NULL-værdier i sig. Primær nøgle kan være en normal attribut i tabellen, der garanteres at være unik, f.eks. Et socialsikkerhedsnummer, eller det kan være en unik værdi genereret af databasesystemet, såsom en Globally Unique Identifier (GUID) i Microsoft SQL Server.

Figur 02: Primær nøgle

Derudover definerer PRIMARY KEY-begrænsningen i ANSI SQL Standard primære nøgler. Det er også muligt at definere en primær nøgle, når du opretter tabellen. Derudover tillader SQL, at den primære nøgle består af en eller flere kolonner, og hver kolonne, der er inkluderet i den primære nøgle, er implicit defineret til at være IKKE NULL. Men nogle databasestyringssystemer kræver, at de primære nøglekolonner eksplicit IKKE NULL.

Hvad er forskellen mellem fremmed nøgle og primær nøgle?

 Fremmed nøgle vs Primær nøgle

Fremmed nøgle er en kolonne eller gruppe af kolonner i en relationel databasetabel, der giver en tilknytning mellem data i to tabeller. Primær nøgle er en speciel relationsdatabasetabelkolonne eller en kombination af flere kolonner, der gør det muligt at identificere alle tabelposter unikt.
NUL
Fremmed nøgle accepterer NULL-værdi. Primær nøgleværdi kan ikke være NULL.
Antal nøgler
Tabel kan have flere udenlandske nøgler. Tabel kan kun have en primær nøgle.
  Duplikering
Tuples kan have en duplikatværdi for en fremmed nøgleattribut. To tuples i en relation kan ikke have duplikatværdier for en primær nøgleattribut.

Resume - Fremmed nøgle vs Primær nøgle

Forskellen mellem fremmed nøgle og primær nøgle er, at fremmed nøgle er en kolonne eller et sæt kolonner, der henviser til en primær nøgle eller en kandidatnøgle i en anden tabel, mens primær nøgle er en kolonne eller et sæt kolonner, der kan bruges til unikt identificere en række i en tabel.

Reference:

1. "Fremmed nøgle." Wikipedia, Wikimedia Foundation, 12. maj 2018. Tilgængelig her  
2. "Primær nøgle." Wikipedia, Wikimedia Foundation, 3. april 2018. Tilgængelig her 

Billede høflighed:

1.'Foreign-Key-Mapping'By MovGP0 - Eget arbejde, (CC BY-SA 3.0) via Commons Wikimedia  
2.'Erd-id-as-primary-key'By UniCollab - Eget arbejde, (CC BY-SA 3.0) via Commons Wikimedia