Forskel mellem udenlandsk nøgle og primærnøgle

Anonim

Fremmednøgle vs. Primærnøgle

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

Hvad er primær nøgle?

Primærnøgle er en kolonne eller en kombination af kolonner, der unikt definerer en række i en tabel i en relationsdatabase. Et bord kan højst have en primærnøgle. Primærnøgle håndhæver den implicitte IKKE NULL-begrænsning. Så en kolonne, der er defineret som den primære nøgle, kan ikke have NULL værdier i den. Primærnøgle kan være en normal attribut i tabellen, som garanteres at være unik som et socialt sikkerhedsnummer, eller det kan være en unik værdi, der genereres af databasestyringssystemet, såsom en globalt unik identifikator (GUID) i Microsoft SQL Server. Primærnøgler defineres gennem PRIMARY KEY-begrænsningen i ANSI SQL Standard. Primærnøgle kan også defineres, når du opretter bordet. SQL tillader primærnøglen at være sammensat 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 er NULL.

Hvad er Foreign Key?

Udenlandsk nøgle er en referencebegrænsning mellem to tabeller. Den identificerer en kolonne eller et sæt kolonner i et bord, kaldet referencetabellen, der refererer til et sæt kolonner i en anden tabel, kaldet referenstabellen. Den fremmede nøgle eller kolonnerne i referencetabellen skal være den primære nøgle eller en kandidatnøgle (en nøgle der kan bruges som primærnøgle) i den refererede tabel. Udenlandske nøgler bruges til at forbinde data på tværs af flere tabeller. Derfor kan den udenlandske nøgle ikke indeholde værdier, der ikke vises i tabellen, som den refererer til. Derefter kan henvisningen fra den fremmede nøgle bruges til at forbinde information i flere tabeller, og dette ville blive afgørende for normaliserede databaser. Flere rækker i referencetabellen kan referere til en enkelt række i den refererede tabel. I ANSI SQL-standard defineres udenlandske nøgler ved hjælp af FOREIGN KEY-begrænsningen. Endvidere kan fremmednøgler defineres, når du opretter bordet selv. Et bord kan have flere fremmednøgler, og de kan referere til forskellige tabeller.

Hvad er forskellen mellem udenlandsk nøgle og primærnøgle?

Hoveddifferensen mellem primærnøgle og fremmednøgle er, at den primære nøgle er en kolonne eller et sæt af kolonner, som kan bruges til at identificere en række i et bord unikt, mens den udenlandske nøgle er en kolonne eller et sæt kolonner der henviser til en primærnøgle eller en kandidatnøgle i en anden tabel.Udenlandsk nøgle giver hovedsagelig en metode til at forbinde oplysninger i flere tabeller. En anden forskel er, at et bord kan have en enkelt primærnøgle, men det kan have flere udenlandske nøgler, der kan referere til forskellige tabeller.