Een primaire sleutel is een veld of groep velden met waarden die uniek zijn in de hele tabel. U kunt verwijzen naar hele records met behulp van de waarden van de sleutel, omdat elke record een andere waarde voor de sleutel heeft. Elke tabel kan slechts één primaire sleutel hebben. Access kunt automatisch een primaire-sleutelveld maken wanneer u een tabel maakt, of u kunt de velden opgeven die u als primaire sleutel wilt gebruiken. In dit artikel wordt beschreven hoe en waarom u primaire sleutels gebruikt.
Als u de primaire sleutel van een tabel wilt instellen, opent u de tabel in de ontwerpweergave. Selecteer het veld (of de velden) dat u wilt gebruiken en selecteer vervolgens primaire sleutel op het lint.
In dit artikel
Overzicht van primaire sleutels in Access
Access gebruikt primaire sleutelvelden om snel gegevens uit meerdere tabellen te koppelen en deze gegevens op een zinvolle manier te combineren. U kunt de primaire-sleutelvelden in andere tabellen opnemen om terug te verwijzen naar de tabel die de bron vormt van de primaire sleutel. In die andere tabellen worden de velden refererende sleutels genoemd. Een klantnummer in de tabel Klanten zou bijvoorbeeld ook kunnen voorkomen in de tabel Orders. In de tabel Klanten is het de primaire sleutel. In de tabel Orders heet het een refererende sleutel. Kortom, een refererende sleutel is de primaire sleutel van een andere tabel. Raadpleeg voor meer informatie Beginselen van databaseontwerp.
1. Primaire sleutel
2. Refererende sleutel
Als u bestaande gegevens naar een database verplaatst, hebt u mogelijk al een veld dat u als primaire sleutel kunt gebruiken. Vaak fungeert een uniek identificatienummer, zoals een id-nummer, een volgnummer of een code, als primaire sleutel in een tabel. U hebt bijvoorbeeld een tabel Klanten waarin iedere klant een unieke klant-id heeft. Het veld Klant-id is de primaire sleutel.
Access maakt automatisch een index voor de primaire sleutel, waardoor query's en andere bewerkingen sneller kunnen worden uitgevoerd. Access zorgt er ook voor dat elke record een waarde heeft in het primaire sleutelveld en dat deze altijd uniek is.
Wanneer u een nieuwe tabel maakt in de gegevensbladweergave, maakt Access automatisch een primaire sleutel voor u en wijst deze de veldnaam 'ID' en het gegevenstype AutoNummering toe.
Wat is een goede primaire sleutel?
Goede primaire sleutels hebben verschillende kenmerken:
-
Elke rij wordt op unieke wijze geïdentificeerd.
-
Het is nooit leeg of null. Het bevat altijd een waarde.
-
De waarden die het bevat, veranderen zelden (idealiter nooit).
Als u geen goede sleutel kunt identificeren, maakt u een AutoNummering-veld dat als sleutel moet worden gebruikt. Een dergelijk veld genereert automatisch een waarde voor het veld zelf wanneer een record eerst wordt opgeslagen. Een veld van het type AutoNummering voldoet dus aan alle drie kenmerken van een goede primaire sleutel. Zie Een AutoNummering-veld toevoegen als primaire sleutel voor meer informatie over het toevoegen van een AutoNummering-veld.
Een veld van het type AutoNummering kan goed als primaire sleutel worden gebruikt.
Voorbeelden van slechte primaire sleutels
Een veld waarbij een of meer kenmerken van een goede primaire sleutel ontbreken, is geen goede primaire sleutel. Hierna volgen een paar voorbeelden van velden die slechte primaire sleutels voor een tabel Contactpersonen zouden zijn, met de redenen waarom deze niet voldoen als primaire sleutel.
|
Slechte primaire sleutel |
Reden |
|---|---|
|
Naam |
Deze is mogelijk niet uniek en kan veranderen |
|
Telefoonnummer |
Kan veranderen. |
|
E-mailadres |
Kan veranderen. |
|
Postcode |
Kan door meerdere personen worden gedeeld |
|
Combinaties van feiten en getallen |
Het feitgedeelte kan veranderen, waardoor het lastig te beheren is. En er kan verwarring ontstaan als het feitgedeelte wordt herhaald als afzonderlijk veld. Bijvoorbeeld: de combinatie van een plaats en een oplopend getal (zoals AMSTERDAM0579) is een slechte optie als de plaats ook wordt opgeslagen als veld. |
|
Burgerservicenummers |
|
Samengestelde sleutels: combinatie van meerdere velden als primaire sleutel gebruiken
In sommige gevallen wilt u misschien twee of meer velden gebruiken die samen de primaire sleutel van een tabel vormen. Voor de tabel Ordergegevens, waarin artikelen voor orders worden opgeslagen, worden bijvoorbeeld twee velden gebruikt als primaire sleutel: Order-id en Product-id. Een sleutel met meerdere velden wordt ook wel een samengestelde sleutel genoemd.
De primaire sleutel instellen met behulp van velden die al in Access
Bij een goed werkende primaire sleutel heeft elke rij een unieke identificatie, bevat het veld nooit null of een lege waarde, en verandert het veld zelden (of liever nooit). Ga als volgt te werk om de primaire sleutel in te stellen:
-
Open de database die u wilt wijzigen.
-
Klik in het navigatiedeelvenster met de rechtermuisknop op de tabel waarin u de primaire sleutel wilt instellen en selecteer ontwerpweergave in het snelmenu.
Tip: Druk op F11 als het navigatiedeelvenster niet wordt weergegeven.
-
Selecteer het veld of de velden die u als primaire sleutel wilt gebruiken.
Als u één veld wilt selecteren, selecteert u de rijkiezer voor het gewenste veld.
Als u meer dan één veld wilt selecteren om een samengestelde toets te maken, houdt u Ctrl ingedrukt en selecteert u vervolgens de rijkiezer voor elk veld.
-
Selecteer op het tabblad Tabelontwerp in de groep Extra de optie Primaire sleutel.
Er wordt een sleutelindicator toegevoegd links van het veld of de velden die u als primaire sleutel hebt opgegeven.
Een primaire sleutel verwijderen in Access
Als u de primaire sleutel verwijdert, vormen het veld of de velden die eerder dienden als primaire sleutel niet meer het belangrijkste middel om een record te identificeren.
Als u de primaire sleutel verwijdert, worden de velden niet uit de tabel verwijderd, maar wel de index die is gemaakt voor de primaire sleutel.
-
Voordat u een primaire sleutel kunt verwijderen, moet u controleren of de sleutel geen deel uitmaakt van een tabelrelatie. Als u probeert een primaire sleutel te verwijderen die deel uitmaakt van een of meer relaties, waarschuwt Access u dat u eerst de relaties moet verwijderen.Als u een tabelrelatie wilt verwijderen, voert u de volgende stappen uit:
-
Als de tabellen die deel uitmaken van een tabelrelatie, zijn geopend, sluit u deze eerst. U kunt een relatie tussen geopende tabellen niet verwijderen.
-
Selecteer op het tabblad Hulpmiddelen voor databases in de groep Relaties de optie Relaties.
-
Selecteer Tabellen toevoegen.
-
Selecteer de tabelrelatielijn voor de tabelrelatie die u wilt verwijderen (de regel wordt vet wanneer deze is geselecteerd) en druk vervolgens op delete.
-
Klik op het tabblad Relaties ontwerpen in de groep Relaties op Sluiten.
-
-
Nadat u de relaties hebt verwijderd, klikt u in het navigatiedeelvenster met de rechtermuisknop op de tabel waaruit u de primaire sleutel wilt verwijderen en selecteert u ontwerpweergave.
Tip: Druk op F11 als het navigatiedeelvenster niet wordt weergegeven.
-
Selecteer de rijkiezer voor de huidige primaire sleutel.
Als de primaire sleutel uit één veld bestaat, selecteert u de rijkiezer voor dat veld.
Als de primaire sleutel uit meerdere velden bestaat, selecteert u de rijkiezer voor een veld in de primaire sleutel.
-
Selecteer op het tabblad Tabelontwerp in de groep Extra de optie Primaire sleutel.
De sleutelindicator wordt verwijderd van het veld of de velden die u eerder had opgegeven als de primaire sleutel.
Opmerking: Wanneer u een nieuwe tabel opslaat zonder een primaire sleutel in te stellen, wordt u Access gevraagd er een te maken. Als u Ja kiest, maakt Access een id-veld dat gebruikmaakt van het gegevenstype AutoNummering om een unieke waarde voor elke record op te geven. Als uw tabel al een AutoNummering-veld bevat, gebruikt Access dat veld als primaire sleutel.
De primaire sleutel wijzigen in Access
Als u de primaire sleutel van een tabel wilt wijzigen, kunt u dat doen door deze stappen te volgen:
-
Verwijder de bestaande primaire sleutel volgens de instructies in de sectie De primaire sleutel verwijderen.
-
Stel de primaire sleutel in volgens de instructies in de sectie De primaire sleutel instellen.
Aanvullende informatie
Zie de volgende artikelen voor meer informatie over databaseontwerp en het kiezen van een juiste primaire sleutel: