En primärnyckel är ett fält eller en uppsättning fält med värden som är unika i en tabell. Nyckelns värden kan användas för att referera till hela poster eftersom varje post har ett annat värde för nyckeln. Varje tabell kan bara ha en primärnyckel. Access kan automatiskt skapa ett primärnyckelfält åt dig när du skapar en tabell eller så kan du ange vilka fält du vill använda som primärnyckel. I den här artikeln förklarar vi hur och varför du använder primärnycklar.
Om du vill ange primärnyckeln för en tabell öppnar du tabellen i designvyn. Markera fältet eller fälten som du vill använda och klicka sedan på Primärnyckel i menyfliksområdet.
Obs!: Den här artikeln gäller endast för användning med Access-skrivbordsdatabaser. I Access hanteras primärnycklar automatiskt för nya tabeller i Access-webbappar och -webbdatabaser. Det går visserligen att åsidosätta automatiska primärnycklar, men det där inget vi rekommenderar att du gör.
I den här artikeln
Översikt över primärnycklar i Access
I Access används primärnyckelfält för att snabbt associera data från flera olika tabeller och kombinera dem på ett strukturerat sätt. Du kan ta med primärnyckelfälten i andra tabeller och referera tillbaka till den tabell som är källan för primärnyckeln. I de övriga tabellerna kallas fälten för sekundärnycklar. T.ex. kan fältet Kundnummer i tabellen Kunder också förekomma i tabellen Order. I tabellen Kunder är detta primärnyckeln. I tabellen Order kallas detta för en sekundärnyckel. En sekundärnyckel är detsamma som en annan tabells primärnyckel. Mer information finns i Grunder i databasdesign.
1. Primärnyckel
2. Sekundärnyckel
Om du flyttar befintliga data till en databas, kanske du redan har ett fält som du kan använda som primärnyckel. Ett unikt identifikationsnummer, t.ex. ett ID-nummer, ett serienummer eller en kod, fungerar ofta som primärnyckel i en tabell. Exempelvis kanske du har en kundtabell där varje kund har ett unikt kundnummer. Kundnummerfältet är då primärnyckeln.
I Access skapas ett index för primärnyckeln automatiskt, vilket gör att frågor och andra åtgärder kan köras snabbare. Access ser också till att alla poster har ett värde i primärnyckelfältet och att det alltid är unikt.
När du skapar en ny tabell i databladsvyn, skapas en primärnyckel automatiskt. Den får fältnamnet ”ID” och tilldelas datatypen Räknare.
Vad krävs för en bra primärnyckel?
En bra kandidat för en primärnyckel har flera egenskaper:
-
Den identifierar varje rad unikt
-
Den är aldrig tom eller har värdet null, utan innehåller alltid ett värde
-
Det värde som den innehåller ändras sällan (eller helst aldrig)
Om du inte hittar någon lämplig nyckel kan du skapa ett fält av typen Räknare och använda det som nyckel. I fält av typen Räknare genereras automatiskt värden första gången varje post sparas. Det innebär att fält av typen Räknare uppfyller alla tre egenskaper hos en bra primärnyckel. Mer information om hur du lägger till en räknare finns i artikeln Lägga till ett Räknare-fält som en primärnyckel.
Ett Räknare-fält fungerar som en bra primärnyckel.
Exempel på dåliga primärnycklar
Alla fält som saknar en eller flera av egenskaperna för en bra kandidat är ett dåligt val av primärnyckel. Här följer några exempel på fält som skulle vara dåliga primärnycklar för en kontakttabell, samt orsaker till varför de skulle vara dåliga val.
Dålig primärnyckel |
Orsak |
---|---|
Personnamn |
Är inte alltid unika och kan komma att ändras. |
Telefonnummer |
Kommer troligen att ändras. |
E-postadress |
Kommer troligen att ändras. |
Postnummer |
Fler än en person kan ha samma postnummer. |
Kombinationer av information och nummer |
Informationsdelen kan förändras, vilket skapar en underhållsbelastning. Det kan leda till förvirring om faktadelen upprepas som ett separat fält. Till exempel skulle det vara ett dåligt val att skriva ihop orten och ett löpnummer (t.ex. STOCKHOLM0579) om orten också lagras som ett fält. |
Personnummer |
|
Sammansatta nycklar: använda en kombination av flera fält som primärnyckel
Ibland vill du kanske använda två eller fler fält i en tabell som primärnyckel. Till exempel kan tabellen Orderinformation, som innehåller radspecifikationer för order, använda två fält i sin primärnyckel: Order-ID och Produkt-ID. En primärnyckel som har fler än ett fält kallas för en sammansatt nyckel.
Ange primärnyckeln med hjälp av befintliga fält i Access
För att en primärnyckel ska fungera bra måste fältet unikt identifiera varje rad, det får aldrig innehålla ett tomt värde eller null-värde och sällan (helst aldrig) ändras. Så här anger du primärnyckeln:
-
Öppna den databas som ska ändras.
-
Högerklicka i navigeringsfönstret på tabellen där du vill ange primärnyckeln och klicka sedan på Design på snabbmenyn.
Tips: Om navigeringsfönstret inte visas kan du visa det genom att trycka på F11.
-
Markera det eller de fält som du vill använda som primärnyckel.
När du vill markera ett fält klickar du på radväljaren för önskat fält.
Om du vill välja fler än ett fält och skapa en sammansatt nyckel håller du ned CTRL och klickar sedan på radväljaren för varje fält.
-
Klicka på Primärnyckel i gruppen Verktyg på fliken Tabelldesign.
En nyckelindikator infogas till vänster om fältet eller fälten som du anger som primärnyckel.
Ta bort en primärnyckel i Access
När du tar bort primärnyckeln, kommer det fält eller de fält som tidigare fungerade som primärnyckel inte längre att identifiera någon post.
När du tar bort primärnyckeln tas inte fälten bort från tabellen, men det index som har skapats för primärnyckeln tas bort.
-
Innan du kan ta bort en primärnyckeln måste du kontrollera att den inte ingår i någon tabellrelation. Om du försöker att ta bort en primärnyckel som ingår i en eller flera relationer visas en varning om att du måste ta bort relationerna först.
Om du vill ta bort en tabellrelation följer du de här stegen:-
Om tabellerna som ingår i tabellrelationen är öppna, stänger du dem. Det går inte att ta bort tabellrelationer mellan öppna tabeller.
-
På fliken Databasverktyg, i gruppen Relationer, klickar du på Relationer.
-
Välj Lägg till tabeller.
-
Klicka på tabellrelationslinjen för den tabellrelation som du vill ta bort (radens text blir fetstilt när den markeras) och tryck sedan på DEL.
-
Klicka på Stäng i gruppen Relationer på fliken Relationsdesign.
-
-
När du har tagit bort relationerna i navigeringsfönstret högerklickar du på den tabell där du vill ta bort primärnyckeln och klickar sedan på Design.
Tips: Om navigeringsfönstret inte visas kan du visa det genom att trycka på F11.
-
Klicka på radväljaren för den aktuella primärnyckeln.
Om primärnyckeln består av ett enstaka fält, klickar du på radväljaren för det fältet.
Om primärnyckeln består av flera fält, klickar du på radväljaren för valfritt fält i primärnyckeln.
-
Klicka på Primärnyckel i gruppen Verktyg på fliken Tabelldesign.
Nyckelindikatorn tas bort från fältet eller fälten som tidigare användes som primärnyckel.
Obs!: När du sparar en ny tabell utan att ange någon primärnyckel, uppmanas du att skapa en i Access. Om du väljer Ja skapas ett ID-fält med datatypen Räknare och som tillhandahåller ett unikt värde för varje post. Om tabellen redan innehåller ett fält av typen Räknare, används det fältet som primärnyckel.
Ändra primärnyckeln i Access
Om du bestämmer dig för att ändra en tabells primärnyckel gör du det så här:
-
Ta bort den befintliga primärnyckeln genom att följa anvisningarna i Ta bort primärnyckeln.
-
Ange primärnyckeln genom att följa anvisningarna i Ange primärnyckeln.
Ytterligare information
Mer information om databasdesign och att välja en lämplig primärnyckel finns i de här artiklarna: