Forskjell mellom primærnøkkel og unikk nøkkel
Primærnøkkel vs Unik nøkkel
En kolonne eller et sett med kolonner som kan brukes til å identifisere eller få tilgang til en rad eller et sett av rader i en database kalles en nøkkel. En unik nøkkel er en nøkkel som unikt kan identifisere en rad i et bord i sammenheng med relasjonsdatabaser. En unik nøkkel består av en enkelt kolonne eller et sett med kolonner. En primærnøkkel er også en kombinasjon av kolonner i et bord som unikt identifiserer en rad. Men det regnes som et spesielt tilfelle av den unike nøkkelen.
Hva er unikt nøkkel?
Som nevnt tidligere, er unikt nøkkel en enkelt kolonne eller et sett med kolonner som unikt kan identifisere en rad i et bord. Så, en unik nøkkel er begrenset slik at ingen to verdier av den er like. En viktig egenskap er at de unike nøklene ikke håndhever IKKE NULL-begrensningen. Siden NULL representerer mangelen på en verdi, hvis to rader har NULL i en kolonne, betyr det ikke at verdiene er like. Kolonne definert som en unik nøkkel tillater bare en enkelt NULL-verdi i den kolonnen. Da kan det brukes til å identifisere den aktuelle raden unikt. For eksempel, i en tabell som inneholder studentinformasjon, kan student ID defineres som en unik nøkkel. Siden ingen to studenter kan ha samme ID, identifiserer det en enkelt student unikt. Så tilfredsstiller student-ID-kolonnen alle egenskapene til en unik nøkkel. Avhengig av utformingen av en database, kan et bord ha mer enn en unik nøkkel.
Hva er primærnøkkel?
Primærnøkkel er også en kolonne eller en kombinasjon av kolonner som unikt definerer en rad i en tabell av en relasjonsdatabase. Et bord kan ha maksimalt en primærnøkkel. Primærnøkkel håndhever den implicitte NOT NULL-begrensningen. Så, en kolonne som er definert som primærnøkkelen, kan ikke ha NULL-verdier i den. Primærnøkkel kan være et normalt attributt i tabellen som garantert er unikt, for eksempel personnummer, eller det kan være en unik verdi generert av databasebehandlingssystemet, for eksempel en globalt unik identifikator (GUID) i Microsoft SQL Server. Primærnøkler er definert gjennom PRIMARY KEY-begrensningen i ANSI SQL Standard. Primærnøkkel kan også defineres når du lager bordet. SQL tillater primærnøkkel å være sammensatt av en eller flere kolonner, og hver kolonne som er inkludert i primærnøkkelen, er implisitt definert til å være IKKE NULL. Men noen databasebehandlingssystemer krever at primærnøkkelkolonnene eksplisitt IKKE NULL.
Forskjellen mellom primærnøkkel og unik nøkkel
Selv om både primærnøkkelen og unike nøkkelen er en eller flere kolonner som unikt kan identifisere en rad i et bord, har de noen viktige forskjeller. Viktigst av alt, kan et bord bare ha en enkelt primærnøkkel mens den kan ha mer enn en unik nøkkel.Primærnøkkel kan betraktes som et spesielt tilfelle av den unike nøkkelen. En annen forskjell er at primærnøklene har en implisitt IKKE NULL-begrensning, mens den unike nøkkelen ikke har den begrensningen. Derfor kan unike nøkkel kolonner inneholde null-verdier, men primærnøkkelkolonner kan ikke inneholde NULL-verdier.