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 sammenligning | Primærnøkkel | Unik nøkkel |
---|---|---|
grunn~~POS=TRUNC | Den 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 aksept | Primærnøkkel aksepterer ikke NULL-verdier. | Unik vil akseptere en NULL-verdi. |
Antall nøkler som kan defineres i tabellen | Bare en primærnøkkel | Mer enn en |
Hovedsiden | Oppretter klyngeindeks | Oppretter 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.
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.
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
- 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.
- Et bord kan bare ha primærnøkkel, mens det kan være flere unike begrensninger på et bord.
- 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.