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 sammenligning | Primærnøgle | Unik nøgle |
---|---|---|
Grundlæggende | Den 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 accept | Primærnøgle accepterer ikke NULL-værdier. | Unik vil acceptere en NULL værdi. |
Antal nøgler, der kan defineres i tabellen | Kun en primærnøgle | Mere end en |
Indeks | Opretter klynget indeks | Opretter 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.
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.
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
- 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.
- Et bord kan kun have primærnøgle, mens der kan være flere unikke begrænsninger på et bord.
- 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.