Anbefalt, 2021

Redaksjonens

Forskjell mellom primærnøkkel og unik nøkkel

Vi har allerede studert forskjellige typer nøkler som brukes i databasen og skjemaet i de forrige artiklene, nemlig forskjell mellom primærnøkkel og utenlandsk nøkkel. I denne artikkelen skiller vi primærnøkkel og unik nøkkel. Både primærnøkkel og den unike nøkkelen brukes til å identifisere en tuple unikt og håndhever unikt i en kolonne eller kombinasjon av en kolonne.

Den vesentlige forskjellen mellom primærnøkkel og unikt nøkkel er at primærnøkkelen ikke godtar NULL-verdier mens NULL-verdier er tillatt innenfor Unike nøkkelbegrensninger.

Sammenligningstabel

Grunnlag for sammenligningPrimærnøkkelUnik nøkkel
grunn~~POS=TRUNCDen brukes til å fungere som en unik identifikator for hver rad i et bord.Den bestemmer også en rad unikt, som ikke er definert som en primærnøkkel.
NULL verdi akseptPrimærnøkkel aksepterer ikke NULL-verdier.Unik vil akseptere en NULL-verdi.
Antall nøkler som kan defineres i tabellenBare en primærnøkkelMer enn en
HovedsidenOppretter klyngeindeksOppretter ikke-klynget indeks

Definisjon av primærnøkkel

En kolonne kan kalles som en primærnøkkel i tabellen hvis den unikt identifiserer hver tuple (rad) i den tabellen. Det håndhever integritetsbegrensninger til bordet. Bare en primærnøkkel er tillatt i et bord. Primærnøkkelen godtar ikke duplikat- og NULL-verdiene. Hovednøkkelen velges med forsiktighet der endringene kan forekomme sjeldent, betyr at en primærnøkkel i et bord endres svært sjelden.

La oss forstå begrepet primærnøkkel ved hjelp av et bord. Her oppretter vi et bord kalt Studentbord, som har attributter som Roll_number, Navn, Batch, Telefonnummer, Citizen_ID.

I det givne eksemplet kan attributrollens nummer aldri ha identisk og NULL-verdi, fordi hver student skrev inn på et universitet med en unik Roll_number. Ingen to elever kan ha samme Roll_number, og hver rad i et bord er unikt identifisert med studentens rulle nummer. Så, vi kan gjøre Roll_number attributt som en primærnøkkel i dette spesielle tilfellet.

En primærnøkkel kan refereres av utenlandsk nøkkel. Det skaper en unik klyngeindeks på bordet. I en klynget indeks sorteres og lagres datarollene i en tabell eller visninger ut fra de viktigste verdiene. Det kan bare være en gruppert indeks i et bord, grunnen bak dette er at en dataark i et bord kan sorteres i bare én rekkefølge.

Definisjon av unik nøkkel

I likhet med en primærnøkkel identifiserer unike nøkkelbegrensninger også et individuelt tuple unikt i et forhold. Men det er visse forskjeller mellom dem. Et bord kan ha mer enn en unik nøkkel. Unike nøkkelbegrensninger kan bare akseptere en NULL-verdi for en kolonne.

La oss forstå dette med lignende eksempel, hvor vi hadde et Studentbord med Roll_number, Name, Batch, Phone_number og Citizen_ID attributter. Rulle nummerattributt er tilordnet primærnøkkelen.

Her kan Citizen_ID tildeles unike begrensninger der hver oppføring i en Citizen_ID-kolonne skal være unik, ikke duplikat fordi hver borger i et land må ha sitt unike identifikasjonsnummer. Men hvis en student migrerer fra et annet land, ville han eller hun ikke ha Citizen_ID, og ​​oppføringen kunne ha en NULL verdi som en NULL er tillatt i den unike begrensningen.

Unikke begrensninger er også referert av den utenlandske nøkkelen. Den kan brukes når noen vil håndheve begrensninger på en kolonne og en gruppe kolonner som ikke er en primærnøkkel. I motsetning til primærnøkkelen genererer den ikke-klyngede indeksen . Ikke-klyngede indekser har en distinkt struktur fra dataarkene. Hver nøkkelverdi-oppføring i den peker på dataraden som inneholder nøkkelverdien, derfor bruker den pekere.

Nøkkelforskjeller mellom primærnøkkel og unik nøkkel

  1. Når et attributt erklæres som primærnøkkel, vil det ikke akseptere NULL-verdier. På den annen side, når et attributt erklært som Unikt, kan det akseptere en NULL-verdi.
  2. Et bord kan bare ha primærnøkkel, mens det kan være flere unike begrensninger på et bord.
  3. En Clustered-indeks opprettes automatisk når en primærnøkkel er definert. I motsetning til dette genererer Unik nøkkel den ikke-klyngede indeksen.

Konklusjon

Primærnøkkel og Unik nøkkel begge tjener formålet med en unik identifikator for radene i et bord med de unike verdiene i en kolonne eller gruppe av kolonner. Disse nøkkelbegrensningene er signifikant differensiert der hvert bord kan ha en primærnøkkel, mens et bord kan ha flere unike nøkler som ikke er primære.

Top