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

Anonim

Primærnøgle vs Unik nøgle

En kolonne eller et sæt kolonner, som kan bruges til at identificere eller få adgang til en række eller et sæt rækker i en database kaldes en nøgle. En unik nøgle er en nøgle, som unikt kan identificere en række i et bord i sammenhæng med relationelle databaser. En unik nøgle består af en enkelt kolonne eller et sæt kolonner. En primærnøgle er også en kombination af kolonner i et bord, der unikt identificerer en række. Men det anses for at være et specielt tilfælde af den unikke nøgle.

Hvad er en unik nøgle?

Som nævnt tidligere er unik nøgle en enkelt kolonne eller et sæt af kolonner, som unikt kan identificere en række i et bord. Så, en unik nøgle er begrænset således, at ingen to værdier af det er ens. En vigtig egenskab er, at de unikke nøgler ikke håndhæver IKKE NULL-begrænsningen. Da NULL repræsenterer manglen på en værdi, hvis to rækker har NULL i en kolonne, betyder det ikke, at værdierne er ens. Kolonne defineret som en unik nøgle tillader kun en enkelt NULL-værdi i den kolonne. Derefter kan det bruges til at identificere den pågældende række unikt. I en tabel, der indeholder studentoplysninger, kan student ID f.eks. Defineres som en unik nøgle. Da ingen to elever kan have samme ID, identificerer det unikt en enkelt elev. Således opfylder elev-id-kolonnen alle egenskaber for en unik nøgle. Afhængigt af design af en database kan en tabel have mere end en unik nøgle.

Hvad er primærnøgle?

Primærnøgle er også en kolonne eller en kombination af kolonner, der unikt definerer en række i en tabel i en relationsdatabase. Et bord kan højst have en primærnøgle. Primærnøgle håndhæver den implicitte IKKE NULL-begrænsning. Så en kolonne, der er defineret som den primære nøgle, kan ikke have NULL værdier i den. Primærnøgle kan være en normal attribut i tabellen, der garanteres at være unik, som f.eks. Et socialt sikkerhedsnummer eller det kan være en unik værdi, der genereres af databasestyringssystemet, såsom en globalt unik identifikator (GUID) i Microsoft SQL Server. Primærnøgler defineres gennem PRIMARY KEY-begrænsningen i ANSI SQL Standard. Primærnøgle kan også defineres, når du opretter bordet. SQL tillader primærnøglen at være sammensat af en eller flere kolonner, og hver kolonne, der er inkluderet i den primære nøgle, er implicit defineret til at være IKKE NULL. Men nogle databasestyringssystemer kræver, at de primære nøglekolonner eksplicit IKKE er NULL.

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

Selvom både primærnøglen og den unikke nøgle er en eller flere kolonner, der unikt kan identificere en række i et bord, har de nogle vigtige forskelle. Vigtigst er, at et bord kun kan have en enkelt primærnøgle, mens den kan have mere end en unik nøgle.Primærnøgle kan betragtes som et specielt tilfælde af den unikke nøgle. En anden forskel er, at primærnøgler har en implicit IKKE NULL-begrænsning, mens den unikke nøgle ikke har den begrænsning. Derfor kan unikke nøglekolonner indeholde NULL-værdier, men primærnøglekolonner kan ikke indeholde NULL-værdier.