Primær nøgle vs unik nøgle
En kolonne eller et sæt kolonner, der 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, der unikt kan identificere en række i en tabel i sammenhæng med relationelle databaser. En unik nøgle består af en enkelt kolonne eller et sæt kolonner. En primær nøgle er også en kombination af kolonner i en tabel, der entydigt identificerer en række. Men det betragtes som et specielt tilfælde af den unikke nøgle.
Hvad er unik nøgle?
Som nævnt tidligere er unik nøgle en enkelt kolonne eller et sæt kolonner, der unikt kan identificere en række i en tabel. Så en unik nøgle er begrænset således, at ingen to værdier for den er ens. En vigtig egenskab er, at de unikke nøgler ikke håndhæver den IKKE NULL-begrænsning. 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 denne kolonne. Derefter kan det bruges til at identificere den bestemte række unikt. F.eks. I en tabel, der indeholder studerendeoplysninger, kan studerendes ID defineres som en unik nøgle. Da ingen to studerende kan have det samme ID, identificerer det entydigt en enkelt studerende. Så kolonnen studerende-ID tilfredsstiller alle egenskaber ved en unik nøgle. Afhængigt af designet til en database, kan en tabel have mere end en unik nøgle.
Hvad er primær nøgle?
Primær nøgle er også en kolonne eller en kombination af kolonner, der unikt definerer en række i en tabel i en relationel database. En tabel kan højst have en primær nøgle. Primær nø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 sig. Primær nøgle kan være en normal attribut i tabellen, der garanteres at være unik, såsom social sikkerhedsnummer, eller det kan være en unik værdi genereret af databasestyringssystemet, såsom en Globally Unique Identifier (GUID) i Microsoft SQL Server. Primære nøgler defineres ved hjælp af PRIMARY KEY begrænsningen i ANSI SQL Standard. Primær nøgle kan også defineres, når du opretter tabellen. SQL tillader, at den primære nøgle består 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 NULL.
Forskel mellem primær nøgle og unik nøgle
Selvom både den primære nøgle og den unikke nøgle er en eller flere kolonner, der unikt kan identificere en række i en tabel, har de nogle vigtige forskelle. Det vigtigste er, at en tabel kun kan have en enkelt primær nøgle, mens den kan have mere end en unik nøgle. Primær nøgle kan betragtes som et specielt tilfælde af den unikke nøgle. En anden forskel er, at primære nøgler har en implicit IKKE NULL-begrænsning, mens den unikke nøgle ikke har den begrænsning. Derfor kan unikke nøglekolonner muligvis ikke indeholde NULL-værdier, men primære nøglekolonner kan ikke indeholde NULL-værdier.