Hvad er primær nøgle?
En primær nøglebegrænsning er en kolonne eller gruppe af kolonner i en tabel, der entydigt identificerer hver række i den pågældende tabel. Primærnøglen kan ikke være en duplikat, hvilket betyder at den samme værdi ikke kan vises mere end en gang i tabellen.
En tabel skal have mere end en primær nøgle. Primær nøgle kan defineres på kolonnen eller på bordniveau. Hvis du opretter en sammensat primærnøgle, skal den defineres på bordniveau.
I denne vejledning lærer du:
- Hvad er primær nøgle?
- Hvad er unik nøgle?
- Hvorfor bruge primær nøgle?
- Hvorfor bruge Unique Key?
- Funktioner af primær nøgle
- Funktioner i unik nøgle
- Eksempel på oprettelse af primærnøgle
- Eksempel på oprettelse af unik nøgle
- Forskel mellem primærnøgle og unik nøgle
- Hvad er bedre?
Hvad er unik nøgle?
En unik nøgle er en gruppe på et eller flere felter eller kolonner i en tabel, der entydigt identificerer databaseposten.
En unik nøgle er den samme som en primær nøgle, men den kan acceptere en nulværdi for en tabelkolonne. Det kan heller ikke indeholde identiske værdier. Unikke begrænsninger henvises til ved hjælp af fremmednøglen i andre tabeller.
Nøgleforskelle
- Der kan være en primær nøgle i en tabel, mens der kan være flere unikke nøgler i tabellen.
- Formålet med den primære nøgle er at håndhæve enhedsintegritet på den anden side Formålet med en unik nøgle er at håndhæve unikke data.
- I primærnøgle er standardindeks grupperet, mens standardindeks ikke er grupperet i unik nøgle
- Primær nøgle tillader ikke nulkolonner, mens unik tillader nulkolonner.
- I den primære nøgle er duplikatnøgler ikke tilladt i en unik nøgle. Hvis en eller flere nøgledele er nul, er duplikatnøgler tilladt.
Hvorfor bruge primær nøgle?
Her er de vigtige grunde til at bruge primærnøgle:
- Hovedformålet med den primære nøgle er at identificere hver eneste post i databasetabellen.
- Du kan bruge en primær nøgle, når du ikke tillader nogen at indtaste nulværdier.
- Hvis du sletter eller opdaterer en post, udføres den handling, du har angivet, for at sikre databasens dataintegritet.
- Udfør begrænsning for at afvise sletning eller opdatering af overordnet tabel.
- Data er organiseret i rækkefølge af grupperet indeks, når du fysisk organiserer DBMS-tabel.
Hvorfor bruge Unique Key?
Her er de vigtige grunde til at bruge unik nøgle:
- Formålet med en unik nøgle er at sikre, at oplysningerne i kolonnen for hver tabelpost er unikke.
- Når du tillader brugeren at indtaste nulværdien.
- En unik nøgle bruges, fordi den opretter et ikke-grupperet indeks som standard.
- En unik nøgle kan bruges, når du skal beholde nulværdier i kolonne.
- Når et eller flere felt / kolonner i en tabel, der entydigt identificerer en post i en databasetabel.
Funktioner af primær nøgle
Her er de vigtige funktioner i den primære nøgle:
- Den primære nøgle implementerer bordets enhedsintegritet.
- Du kan kun beholde en primær i tabellen.
- Den primære nøgle indeholder en eller flere tabelkolonner.
- Kolonner er defineret som ikke null.
Funktioner i unik nøgle
Her er de vigtige funktioner i unik nøgle:
- Du kan definere mere end en unik nøgle i tabellen.
- Som standard er unikke nøgler i ikke-klyngede unikke indekser.
- Det udgøres af en eller flere tabelkolonner.
- Tabelsøjlen kan være nul, men kun en nul pr. Søjle foretrækkes.
- En unik begrænsning kan let henvises til med en fremmed nøglebegrænsning.
Eksempel på oprettelse af primærnøgle
Følgende eksempel beskriver, at der er en tabel, der hedder student. Den indeholder fem attributter, 1) StudID, 2) Rulle nr., 3) Fornavn, 4) Efternavn og 5) E-mail.
Roll No-attributten kan aldrig indeholde en duplikat- eller nulværdi. Det er fordi hver studerende, der er tilmeldt et universitet, kan have et unikt nummer. Du kan let identificere hver række i en tabel med elevens rulletal. Så det betragtes som en primær nøgle.

Eksempel på oprettelse af unik nøgle
Overvej den samme elevtabel med attributter, 1) StudID, 2) Rulle nr., 3) Fornavn, 4) Efternavn og 5) E-mail.
Stud ID kan have en unik begrænsning, hvor poster i Stud ID-kolonnen kan være unikke, fordi hver studerende på et universitet skal have et unikt ID-nummer. I tilfælde af at hvis den studerende skifter universitet, ville han eller hun ikke have noget stud-ID. Posten kan have en nulværdi, da kun en nul er tilladt i den unikke nøglebegrænsning.

Forskel mellem primærnøgle og unik nøgle
Her er de vigtige forskelle mellem primærnøgle og unik nøgle:
Primærnøgle | Unik nøgle |
Der kan være en primær nøgle i en tabel | Der kan være flere unikke nøgler i tabellen |
Det tillader ikke nulskolonner. | Det tillader nul kolonner. |
Standardindeks er grupperet | Standardindeks er ikke grupperet |
Formålet med den primære nøgle er at håndhæve enhedsintegritet. | Formålet med unik nøgle er at håndhæve unikke data. |
Primær nøgle kan oprettes ved hjælp af syntaks:
CREATE TABLE Employee(ID int PRIMARY KEY,Name varchar(255),City varchar(150)) | Unik nøgle kan oprettes ved hjælp af syntaks:
CREATE TABLE Employee(ID int UNIQUE.Name varchar(255) NOT NULL. City varchar(150)) |
Det er SQL-begrænsning, som giver dig mulighed for entydigt at identificere hver post eller række i databasetabellen. | Det er SQL-begrænsning, der ikke tillader, at den samme værdi tildeles to isolerede poster i en databasetabel. |
I den primære nøgle er duplikatnøgler ikke tilladt. | Hvis en eller flere nøgledele er nul i en unik nøgle, er duplikatnøgler tilladt. |
Hvad er bedre?
- Unik nøgle er bedre, når du har kolonner, som du ved, ikke burde indeholde duplikering. Dette bliver en god måde at sikre datavalidering på.
- Primærnøgle er ideel, når du ikke kan holde null i tabellen. Det kan også bruges, når du har en fremmed nøgle i en anden tabel til oprettelse af et forhold.