Skip to main content

Hva er en primærnøkkel?

En primærnøkkel er en oppføring i en database som er unik for en enkelt post.Denne nøkkelen er vanligvis avledet på en av to måter: en unik identifikasjonskode utenfor databasen eller et generert nummer fra databasen.Når databasen vil inneholde informasjon som alltid er unik for oppføringen, for eksempel et personnummer eller delidentifikasjonsnummer, brukes de vanligvis som en primærnøkkel.Når dataene ikke har en slik identifikator, vil databasen ofte opprette tall basert på sine interne systemer for å gi hver post en unik kode.

Det er tre hovedbegrensninger på en primær nøkkel: eksistens, unikhet og uforanderlighet.En nøkkel må eksistere på det tidspunktet posten er laget og mdash;Det kan ikke legges til senere.Hver tast må være helt annerledes enn noen annen nøkkel.Dette betyr at vanlige identifikatorer, for eksempel navn eller fødselsdato, ikke kan brukes fordi det er mulig at to personer er født samme dag med samme navn.Til slutt kan en primær nøkkel aldri endres når den er opprettet.

Siden en database potensielt kan ha et uendelig antall oppføringer, må en primær nøkkel også være uendelig.For å sikre at en database aldri vil gå tom for nøkler, bruker de fleste poster en numerisk kode for nøkkelen.Siden tall alltid kan bli større og datamaskiner ganske enkelt kan legge til stedsholdende nuller til eldre oppføringer, vil et system aldri gå tom for nøkler.Noen ganger er disse tallene basert på ikke-unik informasjon, men en unik identifikator blir lagt til for å sikre at nøkkelen er levedyktig.

Databaser vil bruke en primærnøkkel som en måte å organisere data på.Siden nøkkelen aldri gjentas, vil det stykke informasjon tillate databasen å holde hver post atskilt fra alle andre.Hver informasjon i en post er koblet tilbake til nøkkelen;På den måten, uansett hva som skjer med systemet, kan databasen gjenoppbygge postene fra løs informasjon.

Tildeling av en meningsfull primærnøkkel blir ofte sett på som en bedre praksis enn automatisk generasjon av en verdi.Dette vil gi posten en identifikator som både fungerer som en nøkkel og gir data.I små databaser er denne skillet sjelden nødvendig, men i store systemer kan den ekstra plassen som brukes av en generert nøkkel føre til at alvorlig databaseoppblåsthet.Dette vil både bremse systemet og få databasen til å kreve betydelig mer lagringsplass.