Den väsentliga skillnaden mellan primärnyckel och unik nyckel är att primärnyckel inte accepterar NULL-värden medan NULL-värden är tillåtna inom Unika nyckelbegränsningar.
Jämförelsediagram
Grunder för jämförelse | Primärnyckel | Unik nyckel |
---|---|---|
Grundläggande | Den används som en unik identifierare för varje rad i ett bord. | Det bestämmer också en rad, som inte definieras som en primär nyckel. |
NULL värde acceptans | Primärnyckel accepterar inte NULL-värden. | Unik accepterar ett NULL-värde. |
Antal nycklar som kan definieras i tabellen | Endast en primär nyckel | Mer än en |
Index | Skapar klusterindex | Skapar icke-grupperade index |
Definition av Primär nyckel
En kolumn kan kallas som en primär nyckel i tabellen om den unikt identifierar varje tupel (rad) i den tabellen. Det styrker integritetsbegränsningar till bordet. Endast en primärnyckel är tillåten i en tabell. Den primära nyckeln accepterar inte dubbletter och NULL-värden. Den primära nyckeln väljs med omsorg, där förändringarna kan förekomma sällan, innebär att en primär nyckel i ett bord ändras väldigt sällan.
Låt oss förstå begreppet primär nyckel med hjälp av ett bord. Här skapar vi ett bord som heter Studentbord, som har attribut som Roll_number, Namn, Batch, Telefonnummer, Citizen_ID.
En primär nyckel kan refereras av utländsk nyckel. Det skapar ett unikt klusterindex på bordet. I ett grupperat index sorteras och raderas dataserierna i en tabell eller vyer utifrån de viktigaste värdena. Det kan bara finnas ett grupperat index i ett bord, orsaken till detta är att en datarader i ett bord kan sorteras i endast en order.
Definition av unik nyckel
På samma sätt som en primär nyckel identifierar unika nyckelbegränsningar också ett individuellt tupel unikt i ett förhållande. Men det finns vissa skillnader mellan dem. En tabell kan ha mer än en unik nyckel. Unika nyckelbegränsningar kan bara acceptera ett NULL-värde för en kolumn.
Låt oss förstå detta med det liknande exemplet, där vi hade ett Studentbord med Roll_number, Namn, Batch, Telefonnummer och Citizen_ID attribut. Rulnummerattributet tilldelas den primära nyckeln.
Unika begränsningar refereras också av den främmande nyckeln. Den kan användas när någon vill genomdriva begränsningar på en kolumn och en grupp kolumner som inte är en primär nyckel. Till skillnad från den primära nyckeln genererar den det icke-grupperade indexet . Icke-grupperade index har en distinkt struktur från dataraderna. Varje nyckelvärdesinmatning i den pekar på dataraden som innehåller nyckelvärdet, varför det använder pekare.
Viktiga skillnader mellan primärtangent och unik nyckel
- När ett attribut som deklareras som primärtangent, accepterar det inte NULL-värden. Å andra sidan, när ett attribut som deklareras som Unikt kan det acceptera ett NULL-värde.
- En tabell kan bara ha primär nyckel medan det kan finnas flera unika begränsningar på ett bord.
- Ett klusterindex skapas automatiskt när en primär nyckel är definierad. Däremot genererar Unik nyckel det icke-grupperade indexet.
Slutsats
Primär nyckel och unik nyckel båda tjänar syftet med en unik identifierare för raderna i ett bord med de unika värdena i en kolumn eller grupp av kolumner. Dessa nyckelbegränsningar är signifikant differentierade där varje tabell kan ha högst en primär nyckel medan ett bord kan ha flera unika nycklar som inte är primära.