Skip to main content

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ärstammar vanligtvis på ett av två sätt: en unik identifieringskod 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, till exempel ett personnummer eller delidentifieringsnummer, används de vanligtvis som en primär nyckel.När uppgifterna inte har en sådan identifierare kommer databasen ofta att skapa siffror baserat på dess interna system för att ge varje post en unik kod.

Det finns tre huvudbegränsningar på en primär nyckel: existens, unikhet och immutabilitet.En nyckel måste existera när posten görs mdash;Det kan inte läggas till senare.Varje nyckel måste vara helt annorlunda än någon annan nyckel.Detta innebär att vanliga identifierare, såsom namn eller födelsedatum, inte kan användas eftersom det är möjligt att två personer är födda 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 kommer att få slut på 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 platshåller nollor till äldre poster kommer ett system aldrig att ta slut på nycklarna.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 kommer att använda 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 åtskild från alla andra.Varje information i en post är ansluten tillbaka till nyckeln;På så sätt, oavsett vad som händer med systemet, kan databasen återuppbygga posterna från lös information.

Tilldela en meningsfull primärnyckel ses ofta som en bättre praxis än att automatiskt generera ett värde.Detta kommer att ge posten en identifierare som båda fungerar som en nyckel och tillhandahåller data.I små databaser är denna distinktion sällan nödvändig, men i stora system är det extra utrymmet som används av en genererad nyckel resultat är allvarlig databasuppblåsning.Detta kommer både att bromsa ner systemet och göra att databasen kräver betydligt mer lagringsutrymme.