1.4 Primaire sleutel en indexen

1.4.1 Aanmaken, wijzigen en verwijderen van een primaire sleutel

De kracht van een relationele-databasesysteem zoals Microsoft Access ligt in de mogelijkheid van het programma om informatie uit verschillende tabellen te zoeken en bijeen te brengen door middel van query's, formulieren, en rapporten. Om dit mogelijk te maken moet elke tabel een veld of combinatie van velden bevatten die voor elke record in een tabel uniek is. Deze informatie wordt de primaire sleutel van een tabel genoemd. Als er eenmaal een primaire sleutel voor een tabel is ingesteld, staat Microsoft Access niet toe dat er dubbele waarden of null-waarden in de primaire sleutelvelden worden ingevoerd.

In Microsoft Access kunnen drie soorten primaire sleutels worden ingesteld: een autoNummering-veld, een enkel veld (enkelvoudige primaire sleutel) en meerdere velden (meervoudige primaire sleutel).

werkwijze

  1. Selecteer een tabel in de ontwerpweergave bijvoorbeeld tbladressen
  2. Selecteer het veld of de velden die u als primaire sleutel wilt definiëren.
  3. Klik op primaire sleutel instellen op de werkbalk. In de rijkiezer wordt voor elk veld een sleutel afgebeeld.

Opmerkingen

1.4.2 Aanmaken, wijzigen en verwijderen van indexen

Een index zorgt ervoor dat records sneller kunnen worden gevonden en gesorteerd. Indexen in een tabel worden in Microsoft Access gebruikt zoals u een index in een boek gebruikt: bij het opzoeken van gegevens wordt de locatie van de gegevens in de index opgezocht. U kunt indexen maken op basis van een enkel veld of van meerdere velden. Met een meervoudige index kunt u onderscheid maken tussen records die dezelfde waarden hebben in het eerste veld.

Bemerk echter het volgende:

Bepalen welke velden moeten worden geïndexeerd

U wilt waarschijnlijk velden indexeren die u vaak zoekt, velden die u wilt sorteren of velden die u in query's wilt koppelen aan velden in andere tabellen.
De primaire sleutel van een tabel wordt automatisch geïndexeerd. Een veld van het gegevenstype Memo, Hyperlink of OLE-object kan niet worden geïndexeerd. Voor andere velden moet u een index overwegen als alle volgende criteria van toepassing zijn:

Enkelvoudige indexen

Meervoudige indexen

Als u waarschijnlijk vaak zult zoeken in of sorteren op twee of meer velden tegelijk, kunt u voor deze combinatie van velden een index maken.

Als u een tabel volgens een meervoudige index sorteert, wordt eerst op het eerste gedefinieerde indexveld gesorteerd. Als er records zijn met identieke waarden in het eerste veld, wordt vervolgens op het tweede gedefinieerde indexveld gesorteerd, enz.

Indexen bewerken

1.4.3 oefeningen

tips:

Het aanmaken van primaire sleutel en indexen kan

  1. Bij aanmaken van de tabelstructuur.
  2. In een latere fase,wanneer gegevens reeds werden ingevoerd.

We kiezen in de mate van het mogelijke voor de eerste mogelijkheid. Vooral voor het aanmaken van een primaire sleutel kan de tweede mogelijkheid problematies zijn.

vraag 1:

Is in de tabellen tblArtikelen en tblPatiënten het aanmaken van een primaire sleutel nuttig?
Zo ja, welke velden vormen de primaire sleutel?

vraag 2:

In de tabel tblPatiënten kan door de beperkte grootte van een memoveld de identificatiecode verschillende malen voorkomen. Verklaar.
Hoe kan je dan toch een primaire sleutel op de identificatiecode definiëren?

vraag 3:

Maak een meervoudige index met naam artikelidentificatie op de velden omschrijving en prijs van de tabel tblArtikelen.

vraag 4:

Verwijder alle aangemaakte indexen in de tabel tblAdressen.
Zorg dat in het gegevensblad de records standaard als volgt gesorteerd worden: aflopend op geslacht en oplopend op familienaam en voornaam.

vraag 5:

Welke boodschap verschijnt op het scherm indien men op een bestaande tabel met gegevens een primaire sleutel op een veld aanmaakt waarvan dat waarde leeg is.

Antwoorden