Anbefalet, 2020

Redaktørens Valg

Forskel mellem primærnøgle og unik nøgle

Vi har allerede studeret forskellige typer nøgler, der anvendes i databasen og skemaet i de tidligere artikler, nemlig forskel mellem primærnøgle og udenlandsk nøgle. I denne artikel skelner vi primærnøgle og unik nøgle. Både primærnøglen og den unikke nøgle bruges til at identificere en tuple entydigt og håndhæve entydighed i en kolonne eller en kombination af en kolonne.

Den væsentlige forskel mellem primærnøgle og unik nøgle er, at primærnøglen ikke accepterer NULL-værdier, mens NULL-værdier er tilladt inden for Unikke nøglebegrænsninger.

Sammenligningstabel

Grundlag for sammenligningPrimærnøgleUnik nøgle
GrundlæggendeDen bruges til at fungere som en unik identifikator for hver række i et bord.Det bestemmer også unikt en række, der ikke er defineret som en primærnøgle.
NULL værdi acceptPrimærnøgle accepterer ikke NULL-værdier.Unik vil acceptere en NULL værdi.
Antal nøgler, der kan defineres i tabellenKun en primærnøgleMere end en
IndeksOpretter klynget indeksOpretter ikke-klynget indeks

Definition af primærnøgle

En kolonne kan kaldes som en primærnøgle i tabellen, hvis den unikt identificerer hver tuple (række) i den tabel. Det håndhæver integritetsmæssige begrænsninger til bordet. Kun en primærnøgle er tilladt i en tabel. Primærnøglen accepterer ikke duplikat- og NULL-værdierne. Den primære nøgle vælges med omhu, hvor ændringerne kan forekomme sjældent, betyder at en primærnøgle i et bord ændres meget sjældent.

Lad os forstå begrebet primærnøgle ved hjælp af et bord. Her opretter vi en tabel med navnet Studentbord, som har attributter som Roll_number, Navn, Batch, Telefonnummer, Citizen_ID.

I det givne eksempel kan attributrollens nummer aldrig have identisk og NULL værdi, fordi hver studerende indskrev et universitet med en unik Roll_number. Ingen to elever kan have samme Roll-nummer, og hver række i et bord er entydigt identificeret med elevernes rulle nummer. Så vi kan gøre Roll_number-attributten som en primær nøgle i dette særlige tilfælde.

En primærnøgle kan henvises til udenlandsk nøgle. Det skaber et unikt klynget indeks på bordet. I et klynget indeks sorteres og lagres datarammerne i en tabel eller visninger ud fra dens nøgleværdier. Der kan kun være ét klynget indeks i et bord, grunden til dette er, at en dataark i en tabel kan sorteres i kun en ordre.

Definition af unikke nøgle

På samme måde som en primærnøgle identificerer Unikke nøglebegrænsninger også en individuel tuple unik i en relation. Men der er visse forskelle mellem dem. Et bord kan have mere end en unik nøgle. Unikke nøglebegrænsninger kan kun acceptere en NULL-værdi for en kolonne.

Lad os forstå dette med det tilsvarende eksempel, hvor vi havde en Student-tabel med Roll_number, Name, Batch, Phone_number og Citizen_ID attributter. Rulle nummerattribut er tildelt den primære nøgle.

Her kan Citizen_ID tildeles unikke begrænsninger, hvor hver post i en Citizen_ID-kolonne skal være unik og ikke duplikere, fordi hver borger i et land skal have sit unikt identifikationsnummer. Men hvis en elev vandrer fra et andet land, ville han eller hun ikke have Citizen_ID, og ​​indgangen kunne have en NULL-værdi, da en NULL er tilladt i den unikke begrænsning.

Unikke begrænsninger henvises også til den udenlandske nøgle. Det kan bruges, når nogen ønsker at håndhæve begrænsninger på en kolonne og en gruppe af kolonner, som ikke er en primær nøgle. I modsætning til den primære nøgle genererer den det ikke-klyngede indeks . Ikke-klyngede indekser har en særskilt struktur fra dataraderne. Hver indtastning af nøgleværdier i den peger på dataraden, der indeholder nøgleværdien, hvorfor den bruger peger.

Nøgleforskelle mellem primærnøgle og unik nøgle

  1. Når en attribut erklæret som primærnøgle, accepterer den ikke NULL-værdier. På den anden side, når en attribut erklæret som unik, kan den acceptere en NULL-værdi.
  2. Et bord kan kun have primærnøgle, mens der kan være flere unikke begrænsninger på et bord.
  3. Et Clustered-indeks oprettes automatisk, når en primærnøgle er defineret. I modsætning hertil genererer Unik nøgle det ikke-klyngede indeks.

Konklusion

Primærnøgle og Unik nøgle begge tjener formålet med en unik identifikator for rækkerne i et bord med de unikke værdier i en kolonne eller gruppe af kolonner. Disse nøglebegrænsninger er væsentligt differentierede, hvor hvert bord maksimalt kan have en primærnøgle, mens et bord kan have flere unikke nøgler, der ikke er primære.

Top