Forskjellen mellom primær nøkkel vs fremmed nøkkel

I et Relational Database Management System (RDBMS) lagres dataene i tabeller. Ettersom en enorm datamengde blir lagret i tabellene, er det alltid en mulighet for at dataene kan bli uorganiserte eller inneholde duplikater. Også når vi trenger å hente dataene i henhold til kravet vårt fra de enorme dataene, blir oppgaven vanskelig. Nøkkelbegrepet brukes i RDBMS for å identifisere poster i tabellen fra tusenvis av rader med data. Bruk av Key hjelper også med å etablere forholdet mellom tabellene slik at dataene kan henvises fra forskjellige tabeller. Så nøkkelen i relasjonsdatabasestyringssystem opprettholder bordnivåintegritet så vel som referensiell integritet. I denne artikkelen vil vi undersøke detaljert forskjellen mellom den primære nøkkelen og den utenlandske nøkkelen.

Primærnøkkelen i en tabell identifiserer poster unikt og fremmednøkkelen refererer til den primære nøkkelen til en annen tabell. La oss ta eksempelet på to tabeller: Medarbeider- og lønnstabeller for å forstå de primære og utenlandske nøkkelbegrepene. Hvis ansattstabellen har den primære nøkkelen som ansatt_ID, må en kolonne medarbeider-ID være til stede i lønnstabellen da den trenger å ha et forhold mellom disse to tabellene ved å ha en fremmed nøkkel i lønnstabellen som kan referere til den primære nøkkelen til ansattes bord.

Sammenligning mellom hodet og hodet mellom primær nøkkel vs fremmed nøkkel (infographics)

Nedenfor er de 6 øverste forskjellene mellom primær nøkkel vs fremmed nøkkel:

Nøkkelforskjeller mellom primærnøkkel vs fremmednøkkel

La oss diskutere noen av de viktigste nøkkelforskjellene mellom Primær nøkkel vs Fremmed nøkkel:

  • Primærnøkkelen identifiserer postene i en tabell unikt mens fremmednøkkelen brukes til å koble sammen tabellene, dvs. at den refererer til primærnøkkelen til en annen tabell.
  • Kolonnen Primærnøkkel i en tabell kan ikke ha Nullverdier og skal alltid ha unike verdier. Men fremmednøkkelen i tabellen kan inneholde nullverdier og kan også ha dupliserte verdier.
  • En tabell kan bare ha en primærnøkkel mens det kan være mer enn en fremmed nøkkel for en tabell.
  • Indeksen opprettes automatisk for primærnøkkelen, mens indeksene ikke skapes automatisk for fremmednøkkelen.
  • Det er enkelt å slette begrensningen for fremmednøkkel, selv om den refererer til primærnøkkelen. Men sletting av primærnøkkelbegrensning kan opprette poster med underordnede poster som ikke har noen overordnede poster.

Sammenligningstabell over primær nøkkel vs fremmed nøkkel

Tabellen nedenfor oppsummerer sammenligningene mellom Primary Key vs Foreign Key:

PrimærnøkkelFremmed nøkkel
Den primære nøkkelen til en tabell i RDBMS kan være en enkelt kolonne eller kan omfatte mer enn en kolonne som brukes til å identifisere hver rad i en tabell unikt. Når det gjelder Primærnøkkelen som består av mer enn en kolonne, brukes dataene fra hver kolonne for å bestemme unikheten til en rad. En tabell i RDMBS kan bare ha en primærnøkkel.Fremmednøkkelen kan være en enkelt kolonne eller kan bestå av mer enn en kolonne i en tabell som brukes til å referere til Primærnøkkelen til en annen tabell. Fremmednøkkelen kan brukes til å koble tabellene i RDBMS. I motsetning til attributtet Primær nøkkel, kan en tabell i RDBMS ha mer enn en fremmed nøkkel.
Det er få forhold som bør tilfredsstilles for at en kolonne skal være en primær nøkkel i en tabell. Et av forholdene er at Primærnøkkelen skal inneholde en unik verdi for hver post. Så en tabell i RDBMS kan ikke tillates å ha dupliserte verdier for to rader for attributtet Primær nøkkel.I motsetning til primærnøkkelen til en tabell i RDBMS, kan fremmednøkkelen inneholde dupliserte verdier. Dette gjør det mulig å ha dupliserte verdier for radene i en tabell for attributten for fremmed nøkkel.
Den andre tilstanden til en kolonne som tilfredsstiller å være en primærnøkkel, er at den ikke skal inneholde nullverdier.Men fremmednøkkelen til en tabell i RDBMS kan inneholde nullverdier.
En primærnøkkel er spesifisert når du definerer tabellen, og det er obligatorisk å definere primærnøkkelen.I motsetning til den primære nøkkelen, er det ingen spesifikk tabeldefinisjon for å betegne en nøkkel til å være fremmednøkkel.
Det er ikke mulig å slette den primære nøkkelbegrensningen fra en overordnet tabell med fremmednøkkelen til barnetabellen som refererer til den. Så barnetabellen må slettes først før du sletter overordnetabellen.Men hvis vi trenger å slette begrensningen for fremmednøkkel i en tabell, kan den slettes fra underordnede tabellen, selv om den refererer til den primære nøkkelen til overordnet tabell.

Primærnøkkelen indekseres automatisk, dvs. primærnøkkelen blir lagret i en indeks for en tabell, og denne indeksen hjelper til med å administrere kravet om unikhet, og på grunn av dette blir utenlandske nøkkelverdier lett henvist til de tilsvarende primære nøkkelverdiene.For utenlandsk nøkkel opprettes ikke indeksene automatisk, og vanligvis definerer databaseadministratoren dem.

Konklusjon

Primær- og utenlandske nøkler implementerer ikke bare forskjellige typer integritet, men skaper også relasjoner mellom tabeller. Primær- og utenlandske tastene sørger også for at kolonnene som er opprettet for forholdet, må inneholde samsvarende verdier og unike poster opprettholdes i tabellen. Relational Database Management System fungerer effektivt på grunn av tilstedeværelsen av den primære og den utenlandske nøkkelen.

Primærnøkkel-begrensningen hjelper til med å anvende dataintegriteten automatisk da den forhindrer å sette inn eller oppdatere duplikatrekke med data. Ved å bruke nøkkelbegrensningene forhindrer det også at du sletter raden fra den primære nøkkeltabellen fra overordnede tabellen, slik at det ikke opprettes slike underordnede poster som det ikke er noen overordnede poster. Også når en rad med henvisning til primærnøkkelen blir slettet eller oppdatert i overordnede tabellen, opprettholdes referansens integritet av fremmednøkkelen. Tastene har en viktig rolle i å etablere koblinger mellom databasetabellene og også i tabellen.

Anbefalte artikler

Dette er en guide til Primary Key vs Foreign Key. Her diskuterer vi nøkkelforskjellene Primærnøkkel vs Fremmednøkkel med infografikk og sammenligningstabell. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. WebLogic vs WebSphere
  2. ROLAP vs MOLAP vs HOLAP
  3. GoCD vs Jenkins
  4. Gjeld vs egenkapitalfinansiering