Skip to main content

Hvad er en primær nøgle?

En primær nøgle er en post i en database, der er unik for en enkelt post.Denne nøgle er generelt afledt på en af to måder: en unik identifikationskode uden for databasen eller et genereret nummer fra databasen.Når databasen vil indeholde oplysninger, der altid er unikke for posten, såsom et personnummer eller en delidentifikationsnummer, bruges disse typisk som en primær nøgle.Når dataene ikke har en sådan identifikator, opretter databasen ofte tal baseret på dens interne systemer for at give hver post en unik kode.

Der er tre hovedbegrænsninger på en primær nøgle: eksistens, unikhed og uforanderlighed.En nøgle skal eksistere på det tidspunkt, hvor posten er lavet mdash;Det kan ikke tilføjes senere.Hver nøgle skal være helt forskellig fra enhver anden nøgle.Dette betyder, at almindelige identifikatorer, såsom navn eller fødselsdato, ikke kan bruges, fordi det er muligt, at to mennesker er født på samme dag med samme navn.Endelig kan en primær nøgle aldrig ændres, når den først er oprettet.

Da en database potentielt kan have et uendeligt antal poster, skal en primær nøgle også være uendelig.For at sikre, at en database aldrig løber tør for nøgler, bruger de fleste poster en numerisk kode til nøglen.Da tal altid kan blive større, og computere simpelthen kan tilføje stedholdende nuller til ældre poster, vil et system aldrig løbe tør for nøgler.Nogle gange er disse tal baseret på ikke-unikke oplysninger, men en unik identifikator tilføjes for at sikre, at nøglen er levedygtig.

Databaser bruger en primær nøgle som en måde at organisere data på.Da nøglen aldrig gentages, tillader det stykke information, at databasen kan holde hver rekord adskilt fra alle andre.Hvert stykke information i en post er forbundet tilbage til nøglen;På den måde, uanset hvad der sker med systemet, kan databasen genopbygge posterne fra løs information.

Tildeling af en meningsfuld primær nøgle ses ofte som en bedre praksis end automatisk at generere en værdi.Dette vil give rekorden en identifikator, der både fungerer som en nøgle og leverer data.I små databaser er denne sondring sjældent nødvendig, men i store systemer kan den ekstra plads, der bruges af en genereret nøgle, resultere i, seriøs databaseopblæsning.Dette vil både bremse systemet ned og få databasen til at kræve markant mere lagerplads.