Databaser avhenger av nøkler for å lagre, sortere og sammenligne eller opprette relasjoner mellom poster. Hvis du har vært i databaser for en stund, har du sikkert hørt om ulike typer nøkler: primærnøkler, kandidatnøkler og utenlandske nøkler. Når du oppretter en ny databasetabell, bedt du deg om å velge en primærnøkkel som unikt identifiserer hver post lagret i den tabellen.
Hvorfor en primærnøkkel er viktig
Valget av en primærnøkkel er en av de mest kritiske avgjørelsene du gjør i utformingen av en ny database. Den viktigste begrensningen er at du må sørge for at den valgte nøkkelen er unik. Hvis det er mulig at to poster - fortid, nåtid eller fremtid - kan dele samme verdi for et attributt, er det et dårlig valg for en primærnøkkel.
Et annet viktig aspekt ved en primærnøkkel er bruken av andre tabeller som lenker til den i en relasjonsdatabase. I dette aspektet fungerer en primærnøkkel som målet på en peker. På grunn av disse gjensidig avhengighet, må en primærnøkkel eksistere når en plate er opprettet, og den kan aldri forandres.
Dårlig valg for primærnøkler
Hva noen mennesker kan vurdere et åpenbart valg for en primærnøkkel, kan være et dårlig valg i stedet. Her er noen eksempler:
- Postnummer ikke lage gode primærnøkler for et bord av byer. Hvis du gjør et enkelt oppslagstabell med byer, ser postnummeret ut som en logisk primærnøkkel. Men ved videre undersøkelse kan du innse at flere enn en by deler en postnummer. For eksempel deler New Jersey-byene Neptun, Neptun City, Tinton Falls og Wall Township alle postnummerene 07753.
- Personnummer Ikke gjør gode primære nøkler av mange grunner. De fleste anser deres SSN å være privat og vil ikke ha det klart synlig for databasebrukerne. Noen mennesker har ikke SSN-er - utlendinger eller innvandrere som aldri har mottatt et trygdekort. SSN-er kan også gjenbrukes etter en persons død. En person kan ha mer enn én SSN over hele livet når Sosialtilsynet utsteder et nytt nummer i tilfelle svindel eller identitetstyveri.
- E-post adresse er også et dårlig valg for en primærnøkkel. Selv om de er unike, kan de endres over tid. Videre har ikke alle en e-postadresse.
Velge en effektiv primærnøkkel
Så, hva gjør en god primærnøkkel? I de fleste tilfeller, slå til databasesystemet for støtte.
En best praksis i databasedesign er å bruke en internt generert primærnøkkel. Databasebehandlingssystemet kan normalt generere en unik identifikator som ikke har betydning utenfor databasesystemet. For eksempel kan du bruke datatypen Microsoft Access AutoNumber til å opprette et felt som heter RecordID. AutoNumber datatypen øker automatisk feltet hver gang du lager en post. Selv om tallet selv er meningsløst, gir det en pålitelig måte å referere til en enkelt post i spørringer.
En god primærnøkkel er vanligvis kort, bruker tall og unngår spesialtegn eller en blanding av store og små bokstaver for å muliggjøre raske databaseoppslag og sammenligninger.




