Välja en primär nyckel för en databas

Innehållsförteckning:

Välja en primär nyckel för en databas
Välja en primär nyckel för en databas
Anonim

Databaser är beroende av nycklar för att lagra, sortera och jämföra eller skapa relationer mellan poster. Om du har varit runt databaser ett tag har du förmodligen hört talas om olika typer av nycklar: primärnycklar, kandidatnycklar och främmande nycklar.

När du skapar en ny databastabell blir du ombedd att välja en primärnyckel som unikt identifierar varje post som lagras i den tabellen.

Image
Image

Varför en primärnyckel är viktig

Valet av en primärnyckel är ett av de mest kritiska besluten du kommer att fatta vid utformningen av en ny databas. Den viktigaste begränsningen är att du måste se till att den valda nyckeln är unik. Om det är möjligt att två poster (tidigare, nuvarande eller framtida) delar samma värde för ett attribut är det ett dåligt val för en primärnyckel.

En annan viktig aspekt av en primärnyckel är dess användning av andra tabeller som länkar till den i en relationsdatabas. I denna aspekt fungerar en primärnyckel som mål för en pekare. På grund av dessa ömsesidiga beroenden måste en primärnyckel finnas när en post skapas, och den kan aldrig ändras.

Dåliga val för primärnycklar

Vad som vissa kanske anser vara ett självklart val för en primärnyckel kan vara ett dåligt val istället. Här är några exempel:

  • Postnummer är inte bra primärnycklar för en tabell med städer. Om du gör en enkel uppslagstabell över städer verkar postnummer vara en logisk primärnyckel. Men vid ytterligare undersökning kan du inse att mer än en stad delar ett postnummer. Till exempel delar New Jersey-städerna Neptune, Neptune City, Tinton Falls och Wall Township alla postnummer 07753.
  • personnummer är inte bra primärnycklar av många anledningar. De flesta anser att deras SSN är privat och vill inte att det ska vara tydligt synligt för databasanvändare. Dessutom har vissa personer inte SSN.
  • E-postadresser är också ett dåligt val för en primärnyckel. Även om de är unika kan de förändras med tiden. Dessutom har inte alla en e-postadress.

Vad gör en bra primärnyckel

Så, hur väljer du en effektiv primärnyckel? I de flesta fall vänder du dig till ditt databassystem för support.

En bästa praxis i databasdesign är att använda en internt genererad primärnyckel. Ditt databashanteringssystem kan norm alt generera en unik identifierare som inte har någon betydelse utanför databassystemet.

Du kan till exempel använda datatypen Microsoft Access AutoNumber för att skapa ett fält som heter RecordID. Datatypen AutoNumber ökar automatiskt fältet varje gång du skapar en post. Även om numret i sig är meningslöst, är det ett tillförlitligt sätt att referera till en enskild post i frågor.

En bra primärnyckel är vanligtvis kort, använder siffror och undviker speci altecken eller en blandning av versaler och gemener för att underlätta snabba databasuppslagningar och jämförelser.

Rekommenderad: