Vad är en primär nyckel?
En primär nyckel är en post i en databas som är unik för en enda post. Denna nyckel härleds vanligtvis på ett av två sätt: en unik identifikationskod utanför databasen eller ett genererat nummer från databasen. När databasen kommer att innehålla information som alltid är unik för posten, t.ex. ett personnummer eller identifikationsnummer, används dessa vanligtvis som en primär nyckel. När data inte har en sådan identifierare skapar databasen ofta siffror baserade på dess interna system för att ge varje post en unik kod.
Det finns tre huvudsakliga begränsningar för en primär nyckel: existens, unikhet och oföränderlighet. En nyckel måste finnas när inspelningen görs - den kan inte läggas till senare. Varje nyckel måste vara helt annorlunda än någon annan nyckel. Detta innebär att vanliga identifierare, t.ex. namn eller födelsedatum, inte kan användas eftersom det är möjligt att två personer är födda på samma dag med samma namn. Slutligen kan en primär nyckel aldrig ändras när den skapats.
Eftersom en databas potentiellt kan ha ett oändligt antal poster måste en primär nyckel också vara oändlig. För att säkerställa att en databas aldrig går tom för nycklar använder de flesta poster en numerisk kod för nyckeln. Eftersom siffror alltid kan bli större och datorer helt enkelt kan lägga till nollplatser i äldre poster kommer ett system aldrig att bli slut. Ibland är dessa nummer baserade på icke-unik information, men en unik identifierare läggs till för att se till att nyckeln är livskraftig.
Databaser använder en primär nyckel som ett sätt att organisera data. Eftersom nyckeln aldrig upprepas kommer den informationen att göra det möjligt för databasen att hålla varje post separat från varandra. Varje information i en post är ansluten till nyckeln; på så sätt, oavsett vad som händer med systemet, kan databasen bygga om posten från lös information.
Tilldelning av en meningsfull primärnyckel ses ofta som en bättre praxis än att automatisera ett värde. Detta ger posten en identifierare som både fungerar som en nyckel och tillhandahåller data. I små databaser är denna skillnad sällan nödvändig, men i stora system kan det extra utrymmet som används av en genererad nyckel bli allvarlig databasuppblåsning. Detta kommer både att bromsa systemet och göra att databasen kräver betydligt mer lagringsutrymme.