Forskellen mellem primær nøgle vs udenlandsk nøgle

I et Relational Database Management System (RDBMS) gemmes dataene i tabeller. Da en enorm mængde data gemmes i tabellerne, er der altid en mulighed for, at dataene kan blive uorganiserede eller indeholde duplikater. Også når vi skal hente dataene i henhold til vores krav fra de enorme data, bliver opgaven vanskelig. Konceptet nøgle bruges i RDBMS til at identificere poster i tabellen fra tusinder af rækker med data. Brug af nøgle hjælper også med at etablere forholdet mellem tabellerne, så dataene kan henvises fra forskellige tabeller. Så Key in Relational Database Management System opretholder bordniveauets integritet såvel som referencemæssig integritet. I denne artikel vil vi undersøge detaljeret forskellen mellem den primære nøgle vs den udenlandske nøgle.

Den primære nøgle i en tabel identificerer poster unikt, og den udenlandske nøgle henviser til den primære nøgle i en anden tabel. Lad os tage eksemplet med to tabeller: Medarbejder- og lønstabeller for at forstå de primære og udenlandske nøglebegreber. Hvis medarbejder-tabellen har den primære nøgle som medarbejder_ID, skal en kolonne medarbejder_ID være til stede i lønningstabellen, da den skal have et forhold mellem disse to tabeller ved at have en fremmed nøgle i lønstabellen, der kan henvise til den primære nøgle til medarbejderbordet.

Sammenligning mellem hoved og hoved mellem primær nøgle vs fremmed nøgle (infographics)

Nedenfor er de top 6 forskelle mellem Primær nøgle vs fremmed nøgle:

Nøgleforskelle mellem primær nøgle vs udenlandsk nøgle

Lad os diskutere nogle af de vigtigste nøgleforskelle mellem Primær nøgle vs udenlandsk nøgle:

  • Den primære nøgle identificerer posterne i en tabel unikt, medens den udenlandske nøgle bruges til at forbinde tabellerne, dvs. den henviser til den primære nøgle i en anden tabel.
  • Kolonnen Primær nøgle i en tabel kan ikke have Nul-værdier og skal altid have unikke værdier. Men fremmednøglen i tabellen kan indeholde Nul-værdier og kan også have duplikatværdier.
  • En tabel kan kun have en primær nøgle, mens der kan være mere end en fremmed nøgle til en tabel.
  • Indekset oprettes automatisk for den primære nøgle, mens indekser ikke for den udenlandske nøgle oprettes automatisk.
  • Det er let at slette begrænsningen for fremmed nøgle, skønt den henviser til den primære nøgle. Men sletning af primær nøglebegrænsning kan muligvis oprette poster med underordnede poster, der ikke har nogen forælderrekord.

Sammenligningstabel over primær nøgle vs udenlandsk nøgle

Tabellen nedenfor opsummerer sammenligningerne mellem Primær nøgle vs fremmed nøgle:

PrimærnøgleFremmed nøgle
Den primære nøgle for en tabel i RDBMS kan være en enkelt kolonne eller kan omfatte mere end en kolonne, der bruges til at identificere hver række i en tabel unikt. I tilfælde af den primære nøgle, der består af mere end en kolonne, bruges dataene fra hver kolonne til at bestemme en rækkes unikke karakter. En tabel i RDMBS kan kun have en primær nøgle.Fremmednøglen kan være en enkelt kolonne eller kan bestå af mere end en kolonne i en tabel, der bruges til at henvise til den primære nøgle i en anden tabel. Den udenlandske nøgle kan bruges til at linke tabellerne i RDBMS. I modsætning til attributten Primær nøgle, kan en tabel i RDBMS have mere end en fremmed nøgle.
Der er få betingelser, der skal være opfyldt for at en kolonne skal være en primær nøgle i en tabel. En af betingelserne er, at den primære nøgle skal indeholde en unik værdi for hver post. Så en tabel i RDBMS kan ikke have tilladelse til at have duplikatværdier i to rækker for attributten Primær nøgle.I modsætning til den primære nøgle i en tabel i RDBMS, kan den udenlandske nøgle indeholde duplikatværdier. Dette gør det muligt at have duplikatværdier for rækkerne i en tabel til attributten for fremmed nøgle.
Den anden betingelse i en kolonne, der tilfredsstiller at være en primær nøgle, er, at den ikke skal indeholde Nul-værdier.Men fremmednøglen til en tabel i RDBMS kan indeholde Nul-værdier.
En primær nøgle specificeres, mens tabellen defineres, og det er obligatorisk at definere den primære nøgle.I modsætning til den primære nøgle er der ingen specifik tabeldefinition til at angive en nøgle til at være fremmed nøgle.
Det er ikke muligt at slette den primære nøglebegrænsning fra en overordnet tabel med den udenlandske nøgle til underordnet tabel, der henviser til den. Så barnet-tabellen skal slettes først, før du sletter overordnet-tabellen.Men hvis vi har brug for at slette begrænsningen for fremmed nøgle i en tabel, kan den slettes fra underordnede tabellen, selvom den henviser til den primære nøgle i overordnede tabeller.

Den primære nøgle indekseres automatisk, dvs. den primære nøgle gemmes i et indeks for en tabel, og dette indeks hjælper med at administrere kravet om entydighed, og på grund af dette henvises de fremmede nøgleværdier nemt til de tilsvarende værdier for primær nøgle.I tilfælde af en fremmed nøgle oprettes indekserne ikke automatisk, og normalt definerer databaseadministratoren dem.

Konklusion

De primære og udenlandske nøgler implementerer ikke kun forskellige typer integritet, men skaber også relationer mellem tabeller. Primær- og fremmedtasterne sikrer også, at de kolonner, der er oprettet til forholdet, skal indeholde matchende værdier, og at unikke poster opretholdes i tabellen. Det relationelle databasestyringssystem fungerer effektivt på grund af tilstedeværelsen af ​​den primære og den udenlandske nøgle.

Den primære nøglebegrænsning hjælper med at anvende dataintegriteten automatisk, da den forhindrer i at indsætte eller opdatere en duplikat række af data. Ved at bruge nøglebegrænsningerne forhindrer det også sletning af rækken fra den primære nøgletabel fra overordnede tabellen, så der ikke oprettes sådanne underordnede poster, som der ikke er nogen overordnet post til. Når en række med henvisning til den primære nøgle slettes eller opdateres i overordnede tabel, opretholdes den referencielle integritet af Fremmednøglen. Tasterne spiller en vigtig rolle i oprettelsen af ​​links mellem databasetabellerne og også inden for tabellen.

Anbefalede artikler

Dette er en guide til Primary Key vs Foreign Key. Her diskuterer vi den primære nøgle vs fremmed nøgleforskelle med infografik og sammenligningstabel. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. WebLogic vs WebSphere
  2. ROLAP vs MOLAP vs HOLAP
  3. GoCD vs Jenkins
  4. Gæld mod kapitalfinansiering

Kategori: