Forskjell mellom primærnøkkel og fremmednøkkel i DBMS

Forfatter: Laura McKinney
Opprettelsesdato: 1 April 2021
Oppdater Dato: 12 Kan 2024
Anonim
Forskjell mellom primærnøkkel og fremmednøkkel i DBMS - Teknologi
Forskjell mellom primærnøkkel og fremmednøkkel i DBMS - Teknologi

Innhold


Nøkler er den avgjørende delen av DBMS de brukes til å identifisere og etablere en relasjon mellom tabellene i et skjema. Nå, i dag, skal vi diskutere to veldig viktige nøkler til DBMS, dvs. Primærnøkkel og Fremmednøkkel, og vi vil også diskutere forskjellen mellom primærnøkkel og fremmednøkkel. La meg underveis fortelle deg den grunnleggende forskjellen mellom primær og fremmed nøkkel som er primærnøkkel er en av de valgte kandidatnøklene av databasedesigner, mens en fremmed nøkkel er en nøkkel som refererer til den primære nøkkelen til et annet forhold.

Det er mange andre forskjeller mellom disse to, la oss identifisere disse forskjellene ved hjelp av sammenligningstabellen vist nedenfor.

  1. Sammenligningstabell
  2. Definisjon
  3. Viktige forskjeller
  4. Konklusjon

Sammenligningstabell

Grunnlag for sammenligningPrimærnøkkelFremmed nøkkel
grunn~~POS=TRUNCPrimærnøkkel er en valgt kandidatnøkkel som unikt definerer en tupel i en relasjon.Fremmednøkkel i en tabell refererer til den primære nøkkelen til andre tabeller.
NULLPrimær nøkkelverdi kan aldri være NULL.Fremmed nøkkel aksepterer NULL-verdi.
DuplisereIngen to tupler i en sammenheng inneholder dupliserte verdier for et primært nøkkelattributt.Tuples kan ha duplikatverdi for en fremmed nøkkelattributt.
OmrådeDet kan bare være en primær nøkkel i en relasjon.Det kan være flere utenlandske nøkler i en relasjon.
Midlertidig tabellPrimær nøkkelbegrensning kan defineres på de midlertidige tabellene.Begrensning av fremmed nøkkel kan ikke defineres på de midlertidige tabellene.
Clustered indeksSom standard indekseres en primærnøkkel.Fremmednøkkel indekseres ikke automatisk; det må gjøres manuelt.
InnsettingVi kan sette inn en verdi i et primært nøkkelattributt, selv om den henvisende fremmednøkkelen ikke har den verdien i kolonnen.Vi kan ikke sette inn en verdi på en fremmed nøkkel, hvis den verdien ikke er til stede i den henviste primære nøkkelkolonnen.
slettingFør du sletter en primær nøkkelverdi, må du sørge for at verdien ikke fremdeles er til stede i den refererende fremmednøkkelkolonnen i henvisningstabellen.Du kan slette en verdi fra utenlandsk nøkkelkolonne uten å bry deg om hvorvidt verdien er til stede i referert primærnøkkelkolonne i referert forhold.


Definisjon av Primær nøkkel

En primær nøkkel unikt definerer tupler i en relasjon. Det kan være et enkelt attributt i en relasjon, eller det kan være et sett med attributter i en relasjon. Verdien av det primære nøkkelattributtet skal aldri eller sjelden endret. Fordi det er en hovedperson, mener å identifisere eventuelle poster i en database. Endring i hvilken som helst attributtverdi på primærnøkkelen vil skape forvirring.

Database designer velger en av kandidatnøkler som en primær nøkkel, ved å ta noen poeng i betraktning. Den første vurderingen er en primær nøkkelattributtverdi som aldri kan inneholde NULL verdi. Fordi, hvis en primær nøkkelattributtverdi inneholder NULL, betyr det at vi ikke kan identifisere den posten i tabellen. Det krenker også enhetens integritetsbegrensning. Andre hensyn er, ingen to tupler i en tabell kan inneholde samme verdi for et primært nøkkelattributt, da det ville krenke unikheten mellom tuple.


Det kan bare være en primær nøkkel for noen relasjon. Den primære nøkkelen er som standard cluster-indeksert, som betyr at alle tupler i en tabell er sortert, basert på verdiene for primærnøkler. Den primære nøkkelbegrensningen kan defineres på en midlertidig bord. Formidlingstabeller opprettet under utførelsen av en spørring kalles midlertidige tabeller.

Samtidig som sletting en tuple fra en relasjon, må man passe på at den slettede tuplets primære nøkkelverdi ikke fremdeles er til stede i den utenlandske nøkkelkolonnen for referanserelasjon. Mens innsetting har ingen begrensninger for en primærnøkkel.

Den primære nøkkelen til en tabell når den brukes i en annen tabell, så blir den fremmed nøkkel for den tabellen. Utenlandske nøkkelbegrensninger blir diskutert nedenfor.

Definisjon av Foreign Key

Når en relasjon R1, blant sine attributter, har en hoved~~POS=TRUNC nøkkel av andre forhold R2, så blir attributtet kalt Fremmed nøkkel for forhold R1. Forholdet R1 som inneholder den utenlandske nøkkelen heter referanserelasjon som det refererer til den primære nøkkelen til forhold R2 og relasjon R2 er kalt refererte forhold.
I motsetning til den primære nøkkelen, kan den utenlandske nøkkelen akseptere NULL verdier fordi den ikke har som oppgave å identifisere en post på en spesiell måte i en relasjon, da vi har den primære nøkkelen for dette. På samme måte godtar også den utenlandske nøkkelen dupliserte verdier.

Et forhold kan ha flere utenlandske nøkler, da det kan ha forskjellige attributter som er primære nøkler i forskjellige relasjoner. Utenlandsk nøkkelbegrensning kan ikke være definert på midlertidige bord, eller en fremmed nøkkel er en cluster-indeksert Egenskap.

Samtidig som innsetting en verdi i en fremmed nøkkelkolonne for referanseforhold, sørg for at innsettingsverdien må være til stede i den primære nøkkelkolonnen for referert forhold. Mens det ikke er noen begrensning mens sletting en verdi fra den utenlandske nøkkelkolonnen.

  1. En primær er et sett med attributter / en kandidatnøkkel som tydelig identifiserer en post i en relasjon. Imidlertid refererer en fremmed nøkkel i en tabell til den primære nøkkelen til en annen tabell.
  2. Ingen primære nøkkelattributter kan inneholde NULL-verdier, mens en fremmed nøkkelattributt kan godta NULL-verdi.
  3. En primærnøkkel skal ha unike attributtverdier, mens en fremmed nøkkel kan ha duplikate attributtverdier.
  4. Det kan være flere utenlandske nøkler i en relasjon, men en relasjon har bare en primærnøkkel.
  5. Den primære nøkkelbegrensningen kan brukes på de midlertidige tabellene. Imidlertid kan ikke utenlandsk nøkkelbegrensning brukes på de midlertidige tabellene.
  6. En primærnøkkel er som standard klynget indeksert, mens en fremmed nøkkel ikke klynges automatisk, men den kan gjøres manuelt.
  7. Når du setter inn en verdi i en fremmed nøkkelkolonne, må du sørge for at innføringsattributtverdien er til stede i den henviste primære nøkkelkolonnen. Det er imidlertid ingen begrensninger for innsetting i den primære nøkkelkolonnen.
  8. Når du sletter en verdi fra den primære nøkkelkolonnen, må du forsikre deg om at den slettede attributtverdien ikke er til stede i den refererende fremmednøkkelkolonnen. Det er imidlertid ingen begrensninger for å slette en verdi fra en fremmed nøkkelkolonne.

Konklusjon:

Både primærnøkkel og fremmednøkkel er avgjørende for et skjema. En primær nøkkel definerer hver tupel i et forhold unikt, mens en fremmed nøkkel brukes til å opprette en kobling mellom to relasjoner.