Skip to main content

Valg af en primær nøgle til en database

How to: Starting gear and maneuver mode on the Scania Opticruise (April 2025)

How to: Starting gear and maneuver mode on the Scania Opticruise (April 2025)
Anonim

Databaser afhænger af nøgler til at gemme, sortere og sammenligne eller skabe relationer mellem optegnelser. Hvis du har været omkring databaser i et stykke tid, har du sikkert hørt om forskellige typer nøgler: primære nøgler, kandidatnøgler og fremmednøgler. Når du opretter en ny database tabel, bedes du vælge en primærnøgle, der unikt identificerer hver post, der er gemt i den pågældende tabel.

Hvorfor en primær nøgle er vigtig

Valget af en primærnøgle er en af ​​de mest kritiske beslutninger, du gør i udformningen af ​​en ny database. Den vigtigste begrænsning er, at du skal sikre, at den valgte nøgle er unik. Hvis det er muligt, at to poster - fortid, nutid eller fremtid - kan dele samme værdi for en attribut, er det et dårligt valg for en primærnøgle.

Et andet vigtigt aspekt ved en primær nøgle er dens brug af andre tabeller, der linker til den i en relationsdatabase. I dette aspekt virker en primærnøgle som målet for en peger. På grund af disse indbyrdes afhængigheder skal en primærnøgle eksistere, når der oprettes en rekord, og den kan aldrig ændres.

Dårlig valg for primærnøgler

Hvad nogle mennesker måske overvejer et indlysende valg til en primærnøgle kan være et dårligt valg i stedet. Her er et par eksempler:

  • Postnumre ikke lave gode primære nøgler til et bord af byer. Hvis du gør et simpelt opslagstabel over byer, ser postnummeret ud til at være en logisk primærnøgle. Men ved yderligere undersøgelser kan du indse, at mere end én by deler en postnummer. For eksempel deler New Jersey byerne Neptun, Neptun City, Tinton Falls og Wall Township alle 07753 Postnummer.
  • Sociale sikkerhedsnumre lav ikke gode primære nøgler af mange grunde. De fleste anser deres SSN for at være private og ønsker ikke det klart synligt for databasebrugerne. Nogle mennesker har ikke SSN'er - udlændinge eller indvandrere, der aldrig har modtaget et socialsikringskort. SSN'er kan også genbruges efter en persons død. En person kan have mere end et SSN over hele livet, når Social Security Administration udsteder et nyt nummer i tilfælde af bedrageri eller identitetstyveri.
  • Email adresse er også et dårligt valg for en primærnøgle. Selvom de er unikke, kan de ændre sig over tid. Desuden har ikke alle en e-mail-adresse.

    Valg af en effektiv primær nøgle

    Så hvad gør en god primærnøgle? I de fleste tilfælde skal du henvende dig til dit databasesystem for support.

    En god praksis i databasedesign er at bruge en internt genereret primærnøgle. Dit databasestyringssystem kan normalt generere en unik identifikator, der ikke har nogen mening uden for databasesystemet. Du kan f.eks. Bruge datatypen Microsoft Access AutoNumber til at oprette et felt kaldet RecordID. AutoNumber datatypen øger automatisk feltet hver gang du opretter en post. Selvom nummeret selv er meningsløst, giver det en pålidelig måde at henvise til en enkelt post i forespørgsler.

    En god primærnøgle er normalt kort, bruger numre og undgår specialtegn eller en blanding af store og små bogstaver for at lette hurtige databaseopslag og sammenligninger.