Informatie over tabelrelaties

Belangrijk : Dit artikel is automatisch vertaald, bekijk de disclaimer. De Engelse versie van dit artikel vindt u hier voor referentiedoeleinden.

Een van de doelstellingen van een goed databaseontwerp is het verwijderen van overbodige (dubbele) gegevens). Om dit doel te bereiken, verdeelt u uw gegevens op basis van het onderwerp in verschillende tabellen zodat elk feit slechts eenmaal voorkomt. Vervolgens biedt u Microsoft Office Access 2007 een manier om de verdeelde informatie weer met elkaar te verbinden. Daarvoor plaatst u gemeenschappelijke velden in gerelateerde tabellen. U kunt deze stap correct uitvoeren, als u de relaties tussen tabellen begrijpt en deze relaties vervolgens opgeeft in uw Office Access 2007-database.

In dit artikel

Inleiding

Typen tabelrelaties

Waarom tabelrelaties maken?

Referentiële integriteit

Tabelrelaties weergeven

Een tabelrelatie maken

Een tabelrelatie verwijderen

Een tabelrelatie wijzigen

Referentiële integriteit afdwingen

Introductie

Nadat u een tabel hebt gemaakt voor elk onderwerp in uw database, moet u Office Access 2007 de middelen verschaffen waarmee die informatie weer kan worden samengevoegd wanneer dat nodig is. U doet dit door gemeenschappelijke velden in gerelateerde tabellen te plaatsen en door relaties tussen de tabellen te definiëren. Vervolgens kunt u query's, formulieren en rapporten maken waarin informatie uit verschillende tabellen tegelijkertijd wordt weergegeven. Het volgende formulier bevat bijvoorbeeld informatie die uit diverse tabellen is gehaald:

Het formulier Orders waarin gerelateerde gegevens uit vier tabellen tegelijk worden weergegeven

1. De gegevens in dit formulier zijn afkomstig uit de tabel Klanten...

2. ...de tabel Orders...

3. ...de tabel Producten...

4. ...en de tabel Ordergegevens.

De klantnaam in het vak Factuur naar wordt opgehaald uit de tabel Klanten, de waarden voor order-id en orderdatum uit de tabel Orders, de productnaam komt uit de tabel Producten en de waarden voor prijs per eenheid en hoeveelheid uit de tabel Orderinformatie. Deze tabellen zijn op een reeks verschillende manieren aan elkaar gekoppeld om elkaars informatie weer te geven in het formulier.

In het voorgaande voorbeeld moeten de velden in de tabellen op elkaar worden afgestemd zodat ze de gegevens over dezelfde order tonen. Dit doet u met behulp van tabelrelaties. Een tabelrelatie is gebaseerd op overeenkomsten tussen gegevens in sleutelvelden. Dikwijls is dat een veld dat in beide tabellen dezelfde naam heeft. Deze velden zijn in de ene tabel meestal de primaire sleutel, een unieke identificatie voor elke record, en in de andere tabel een externe sleutel. Zo kunt u een verband leggen tussen werknemers en de orders waarvoor ze verantwoordelijk zijn, door een tabelrelatie te definiëren tussen de velden Werknemer-id in de tabellen Werknemers en Orders.

Het veld Werknemer-id, dat wordt gebruikt als primaire sleutel in de tabel Werknemers en als externe sleutel in de tabel Orders

1. Werknemer-id komt in beide tabellen voor: als een primaire sleutel ...

2. ... en als een externe sleutel.

Naar boven

Typen tabelrelaties

Er zijn drie typen tabelrelaties.

  • Een-op-veel-relaties

    Als voorbeeld nemen we een orderdatabase die een tabel Klanten en een tabel Orders bevat. Een klant kan een willekeurig aantal orders plaatsen. Dat betekent dat er voor elke klant in de tabel Klanten veel orders in de tabel Orders kunnen staan. De relatie tussen de tabel Klanten en de tabel Orders is dus een een-op-veel-relatie.

    Als u een één-op-veel-relatie wilt weergeven in uw databaseontwerp, neemt u de primaire sleutel van de 'een'-kant van de relatie en voegt u deze als extra veld(en) toe aan de tabel aan de 'veel'-kant van de relatie. In dit geval voegt u bijvoorbeeld een nieuw veld (het veld id uit de tabel Klanten) toe aan de tabel Orders. Access kan vervolgens de klant-id in de tabel Orders gebruiken om de juiste klant voor elke order te vinden.

  • Veel-op-veel-relaties

    Als voorbeeld nemen we de relatie tussen een tabel Producten en een tabel Orders. Eén order kan meer dan één product bevatten. Anderzijds kan een product voorkomen in veel orders. Daarom kan de tabel Producten veel records bevatten voor elke record in de tabel Orders. Bovendien kan de tabel Orders voor elke record in de tabel Producten veel records bevatten. Dit type relatie wordt een veel-op-veel-relatie genoemd omdat er voor elk product vele orders kunnen zijn en voor elke order vele producten. Als u bestaande veel-op-veel-relaties tussen tabellen wilt opsporen, moet u letten op beide zijden van de relatie.

    Om een veel-op-veel-relatie weer te geven, moet u een derde tabel maken, dikwijls een verbindingstabel genoemd. Deze splitst de veel-op-veel-relatie op in twee een-op-veel-relaties. U plaatst de primaire sleutel uit beide tabellen in de derde tabel. De derde tabel registreert bijgevolg elke verschijning of instantie van de relatie. Zo hebben de tabel Orders en de tabel Producten bijvoorbeeld een veel-op-veel-relatie die is gedefinieerd door twee een-op-veel-relaties met de tabel Ordergegevens te maken. Eén order kan veel producten hebben en elk product kan in veel orders voorkomen.

  • Een-op-een-relaties

    In een een-op-een-relatie heeft elke record in de eerste tabel maar één overeenkomstige record in de tweede tabel, en heeft elke record in de tweede tabel ook maar één overeenkomstige record in de eerste tabel. Dit type relatie komt niet veel voor omdat gegevens met een dergelijke relatie doorgaans in dezelfde tabel worden opgeslagen. U zou een een-op-een-relatie kunnen gebruiken om een tabel met veel velden op te splitsen, om een deel van een tabel om veiligheidsredenen te isoleren of om informatie op te slaan die alleen op een gedeelte van de hoofdtabel van toepassing is. Wanneer u een dergelijke relatie definieert, moeten beide tabellen een veld gemeenschappelijk hebben.

Naar boven

Waarom tabelrelaties maken?

U kunt relaties tussen tabellen expliciet maken met behulp van het venster Relaties, of door een veld vanuit het deelvenster Lijst met velden te slepen. Office Access 2007 gebruikt relaties tussen tabellen naar tabellen deelnemen als u wilt gebruiken in een databaseobject aan. Er zijn verschillende redenen waarom u tabelrelaties maken moet voordat u andere databaseobjecten, zoals formulieren, query's, macro's en rapporten maken.

  • Informatie over tabelrelaties worden doorgegeven aan queryontwerpen

    Als u met records uit meer dan één tabel werkt, moet u dikwijls een query maken die de tabellen samenvoegt. De query koppelt de waarden in het primaire sleutelveld van de eerste tabel aan de overeenkomstige waarde in een externe-sleutelveld in de tweede tabel. Als u bijvoorbeeld rijen wilt retourneren die voor elke klant alle orders weergeven, maakt u een query die de tabel Klanten op basis van het veld Klant-id koppelt aan de tabel Orders. In het venster Relaties kunt u handmatig opgeven welke velden u wilt koppelen. Als u echter al een relatie tussen de tabellen hebt gedefinieerd, wordt in Office Access 2007 de standaardjoin weergegeven, die op de bestaande tabelrelatie is gebaseerd. Als u met een van de querywizards werkt, gebruikt Access bovendien informatie die wordt opgemaakt uit de reeds gedefinieerde tabelrelaties om u zinvolle keuzes te bieden en om instellingen van eigenschappen op voorhand te vullen met relevante standaardwaarden.

  • Feiten over tabelrelaties worden doorgegeven aan formulier- en rapportontwerpen

    Wanneer u een formulier of rapport ontwerpt, gebruikt Office Access 2007 de informatie over de reeds gedefinieerde tabelrelaties om u zinvolle keuzes te bieden en om instellingen van eigenschappen op voorhand te vullen met relevante standaardwaarden.

  • Op basis van tabelrelaties kunt u referentiële integriteit afdwingen om niet-gekoppelde records in een database te helpen voorkomen. Een niet-gekoppelde record is een record die verwijst naar een andere record die niet bestaat, bijvoorbeeld een orderrecord die verwijst naar een klantrecord die niet bestaat.

    Wanneer u een database ontwerpt, verdeelt u uw gegevens over tabellen die allemaal een primaire sleutel hebben. Daarna voegt u aan gerelateerde tabellen externe sleutels toe die naar deze primaire sleutels verwijzen. Deze combinatie van primaire sleutel en externe sleutel vormt de basis voor tabelrelaties en query's voor meerdere tabellen. Het is dan ook belangrijk dat deze verwijzingen tussen externe sleutels en primaire sleutels gesynchroniseerd blijven. Referentiële integriteit zorgt ervoor dat verwijzingen gesynchroniseerd blijven en is afhankelijk van tabelrelaties.

Naar boven

Referentiële integriteit

Wanneer u een database ontwerpt, verdeelt u uw gegevens op basis van het onderwerp over verschillende tabellen om dubbele gegevens te minimaliseren. Vervolgens plaatst u gemeenschappelijke velden in gerelateerde tabellen om Office Access 2007 een manier te bieden om de gegevens weer aan elkaar te koppelen. Als u bijvoorbeeld een een-op-veel-relatie wilt voorstellen, neemt u de primaire sleutel uit de 'een'-tabel en voegt u deze als extra veld toe aan de 'veel'-tabel. Om de gegevens aan elkaar te koppelen, gebruikt Access de waarde in de 'veel'-tabel en zoekt daarbij de corresponderende waarde in de 'een'-tabel. Op die manier verwijzen de waarden in de 'veel'-tabel naar de corresponderende waarden in de 'een'-tabel.

Stel, u hebt een een-op-veel-relatie tussen Verzenders en Orders, en u wilt een verzender verwijderen. Als de verzender die u wilt verwijderen orders in de tabel Orders heeft, worden deze orders niet-gekoppelde records als u de Verzender-record verwijdert. De orders bevatten nog wel een verzender-id, maar die id is niet meer geldig omdat de bijbehorende record niet meer bestaat.

Referentiële integriteit is bedoeld om niet-gekoppelde records te voorkomen en verwijzingen gesynchroniseerd te houden zodat deze hypothetische situatie niet kan voorkomen.

U dwingt referentiële integriteit af door deze voor een tabelrelatie in te schakelen (zie Referentiële integriteit afdwingen voor stapsgewijze instructies). Wanneer referentiële integriteit is afgedwongen, weigert Access elke bewerking die de referentiële integriteit voor die tabelrelatie zou schenden. Dat betekent dat Access zowel updates weigert die het doel van een verwijzing veranderen, als verwijderingen die het doel van een verwijzing verwijderen. Het is echter mogelijk dat u een volstrekt geldige reden hebt om de primaire sleutel te wijzigen voor een verzender die orders in de tabel Orders heeft. In die gevallen zou Access eigenlijk alle betrokken rijen in een enkele bewerking moeten kunnen bijwerken. De update wordt dan volledig uitgevoerd zodat de database niet wordt achtergelaten in een inconsistente toestand, waarbij sommige rijen wel en sommige rijen niet zijn bijgewerkt. Om die reden ondersteunt Access de optie Gerelateerde velden trapsgewijs bijwerken. Als u een primaire sleutel bijwerkt terwijl referentiële integriteit wordt afgedwongen en u de optie Gerelateerde velden trapsgewijs bijwerken hebt ingeschakeld, worden automatisch alle velden bijgewerkt die naar de primaire sleutel verwijzen.

Het is ook mogelijk dat u een volstrekt geldige reden hebt om een rij en alle daaraan gerelateerde records te verwijderen, bijvoorbeeld een Verzender met alle gerelateerde orders voor die verzender. Om die reden ondersteunt Access de optie Gerelateerde records trapsgewijs verwijderen. Als u een record aan de kant van de primaire sleutel van de relatie verwijdert terwijl referentiële integriteit wordt afgedwongen en u de optie Gerelateerde records trapsgewijs verwijderen hebt ingeschakeld, worden automatisch alle records verwijderd die naar de primaire sleutel verwijzen.

Naar boven

Tabelrelaties weergeven

Klik op het tabblad Hulpmiddelen voor databases op Relaties als u uw tabelrelaties wilt weergeven. Het venster Relaties wordt geopend en alle bestaande relaties worden weergegeven. Als er nog geen tabelrelaties zijn gedefinieerd en u het venster Relaties de eerste keer opent, wordt u gevraagd een tabel of query aan het venster toe te voegen.

Het venster Relaties openen

  1. Klik op de Microsoft Office-knop Office-knopvlak en vervolgens op Openen.

  2. Selecteer en open de database in het dialoogvenster Openen.

  3. Klik op het tabblad Databasehulpmiddelen, in de groep Weergeven/verbergen, op Relaties.

  4. Als de database relaties bevat, wordt het venster Relaties geopend. Als de database geen relaties bevat en u het venster Relaties de eerste keer opent, wordt het dialoogvenster Tabel weergeven geopend. Klik op Sluiten om het dialoogvenster te sluiten.

  5. Klik op het tabblad Ontwerpen, in de groep Relaties, op Alle relaties.

    Alle gedefinieerde relaties in de database worden weergegeven. Verborgen tabellen (tabellen waarvoor het selectievakje Verborgen is ingeschakeld in het dialoogvenster Eigenschappen van de tabel) en de bijbehorende relaties worden niet weergegeven, tenzij het selectievakje Verborgen objecten weergeven is ingeschakeld in het dialoogvenster Navigatieopties.

    Zie voor meer informatie over de optie Verborgen objecten weergeven het artikel Het navigatiedeelvenster gebruiken.

Het venster Relaties

1. De primaire sleutel

2. Deze lijn geeft de relatie aan

3. De externe sleutel

Een tabelrelatie wordt voorgesteld met een relatielijn tussen tabellen in het venster Relaties. Een relatie waarvoor geen referentiële integriteit is afgedwongen, wordt aangeduid met een dunne lijn tussen de gemeenschappelijke velden die de relatie ondersteunen. Wanneer u de relatie selecteert door op de lijn te klikken, wordt de lijn dikker om aan te geven dat de relatie is geselecteerd. Als u voor deze relatie referentiële integriteit afdwingt, wordt de lijn aan beide uiteinden dikker. Bovendien staat het getal 1 boven het dikke gedeelte van de lijn aan de ene zijde van de relatie en het oneindigheidssymbool () boven het dikke gedeelte aan het andere uiteinde van de lijn.

Wanneer het venster Relaties actief is, zijn de volgende opdrachten beschikbaar op het lint, dat een onderdeel vormt van de Microsoft Office Fluent-gebruikersinterface:

Op het tabblad Ontwerpen, in de groep Extra:

  • Relaties bewerken    Hiermee opent u het dialoogvenster Relaties bewerken. Wanneer u een relatielijn selecteert, kunt u op Relaties bewerken klikken om de tabelrelatie te wijzigen. U kunt ook op de relatielijn dubbelklikken.

  • Indeling wissen    Hiermee wist u alle tabellen en relaties uit het venster Relaties. Hiermee verbergt u de tabellen en relaties alleen, u verwijdert ze niet daadwerkelijk.

  • Relatiesrapport    Hiermee maakt u een rapport dat de tabellen en relaties in de database weergeeft. Het rapport toont alleen de tabellen en relaties die in het venster Relaties niet zijn verborgen.

Op het tabblad Ontwerpen in de groep Relaties:

  • Tabel weergeven    Hiermee opent u het dialoogvenster Tabel weergeven waarin u de tabellen en query's kunt selecteren die u in het venster Relaties wilt weergeven.

  • Tabel verbergen    Hiermee verbergt u de geselecteerde tabel in het venster Relaties.

  • Rechtstreekse relaties    Hiermee geeft u alle relaties en gerelateerde tabellen voor de geselecteerde tabel in het venster Relaties weer als ze nog niet worden weergegeven.

  • Alle relaties    Hiermee geeft u alle relaties en gerelateerde tabellen in de database in het venster Relaties weer. Verborgen tabellen (tabellen waarvoor het selectievakje Verborgen is ingeschakeld in het dialoogvenster Eigenschappen van de tabel) en hun relaties worden alleen weergegeven als in het dialoogvenster Navigatieopties de optie Verborgen objecten weergeven is ingeschakeld.

    Zie het artikel Het navigatiedeelvenster gebruiken voor meer informatie over de optie Verborgen objecten weergeven.

  • Sluiten    Hiermee sluit u het venster Relaties. Als u de indeling van het venster Relaties hebt gewijzigd, wordt u gevraagd of u deze wijzigingen wilt opslaan.

Naar boven

Een tabelrelatie maken

U kunt een tabelrelatie maken met het venster Relaties of door een veld vanuit het deelvenster Lijst met velden naar een gegevensblad te slepen. Wanneer u een relatie tussen tabellen maakt, hoeven de gemeenschappelijke velden niet per se dezelfde namen te hebben, hoewel dit in de praktijk meestal wel het geval is. Belangrijker is het dat deze velden hetzelfde gegevenstype hebben. Als het primaire-sleutelveld een AutoNummering-veld is, kan het externe-sleutelveld echter een Nummer-veld zijn op voorwaarde dat de eigenschap Veldgrootte van beide velden identiek is. U kunt een AutoNummering-veld bijvoorbeeld aan een Nummer-veld koppelen als de eigenschap Veldgrootte van beide velden is ingesteld op Lange integer. Wanneer beide gemeenschappelijke velden Nummer-velden zijn, moet de eigenschap Veldgrootte voor beide velden ook dezelfde instelling hebben.

Een tabelrelatie maken met het venster Relaties

  1. Klik op de Microsoft Office-knop Office-knopvlak en vervolgens op Openen.

  2. Selecteer en open de database in het dialoogvenster Openen.

  3. Klik op het tabblad Databasehulpmiddelen, in de groep Weergeven/verbergen, op Relaties.

  4. Als u nog geen relaties hebt gedefinieerd, wordt het dialoogvenster Tabel weergeven automatisch geopend. Als het venster niet automatisch wordt geopend, gaat u naar het tabblad Ontwerp en klikt u in de groep Relaties op Tabel weergeven.

    In het dialoogvenster Tabel weergeven worden alle tabellen en query's in de database weergegeven. Als u alleen tabellen wilt zien, klikt u op Tabellen en als u alleen query's wilt zien, klikt u op Query's. Als u zowel tabellen als query's wilt zien, klikt u op Beide.

  5. Selecteer een of meer tabellen of query's en klik vervolgens op Toevoegen. Wanneer u klaar bent met het toevoegen van tabellen en query's aan het venster Relaties, klikt u op Sluiten.

  6. Sleep een veld (meestal de primaire sleutel) van de ene tabel naar het gemeenschappelijke veld (de refererende sleutel) in de andere tabel. Als u meerdere velden wilt slepen, houdt u Ctrl ingedrukt, klikt u op elk veld en sleept u de velden.

    Het dialoogvenster Relaties bewerken wordt geopend.

  7. Controleer of de weergegeven veldnamen de gemeenschappelijke velden voor de relatie zijn. Als een veldnaam onjuist is, klikt u op de veldnaam en selecteert u een nieuw veld in de lijst.

    Als u referentiële integriteit voor deze relatie wilt afdwingen, schakelt u het selectievakje Referentiële integriteit in. Zie de secties Referentiële integriteit en Referentiële integriteit afdwingen voor meer informatie over referentiële integriteit.

  8. Klik op Maken.

    Er wordt een relatielijn tussen de twee tabellen getekend. Als u het selectievakje Referentiële integriteit afdwingen hebt ingeschakeld, wordt de lijn aan beide einden dikker weergegeven. Daarnaast wordt (eveneens alléén als u het selectievakje Referentiële integriteit afdwingen hebt ingeschakeld) het nummer 1 weergegeven boven het dikke gedeelte van de lijn aan de ene kant van de relatie en het oneindigheidsteken () boven het dikke gedeelte van de lijn aan de andere kant.

Sleep een veld uit een tabel naar het overeenkomende veld in een andere tabel

Notities : 

  • Een een-op-een-relatie maken    Beide gemeenschappelijke velden (meestal het primaire-sleutelveld en het externe-sleutelveld) moeten een unieke index hebben. Dit betekent dat de eigenschap Geïndexeerd voor deze velden moet zijn ingesteld op Ja (geen duplicaten). Als beide velden een unieke index hebben, wordt er een een-op-een-relatie gemaakt.

  • Een een-op-veel-relatie maken    Het veld aan de 'een'-kant (meestal de primaire sleutel) van de relatie moet een unieke index hebben. Dit betekent dat de eigenschap Geïndexeerd van dit veld moet zijn ingesteld op Ja (geen duplicaten). Het veld aan de 'veel'-kant mag geen unieke index hebben. Het veld mag wel een index hebben, maar duplicaten moeten zijn toegestaan. Dit betekent dat de eigenschap Geïndexeerd van dit veld moet zijn ingesteld op Nee of op Ja (duplicaten OK). Als één veld een unieke index heeft en het andere veld niet, wordt er een een-op-veel-relatie gemaakt.

Een tabelrelatie maken met het deelvenster Lijst met velden

In Office Access 2007 kunt u een veld toevoegen aan een bestaande tabel die is geopend in de gegevensbladweergave. U doet dit door het veld vanuit het deelvenster Lijst met velden naar de tabel te slepen. In het deelvenster Lijst met velden worden de beschikbare velden in gerelateerde tabellen en de beschikbare velden in andere tabellen weergegeven. Als u een veld uit een 'andere' (niet-gerelateerde) tabel sleept en vervolgens de wizard Opzoeken uitvoert, wordt er automatisch een nieuwe een-op-veel-relatie gemaakt tussen de tabel in het deelvenster Lijst met velden en de tabel waar u het veld naartoe hebt gesleept. Deze relatie, die door Access wordt gemaakt, dwingt standaard geen referentiële integriteit af. Als u referentiële integriteit wilt afdwingen, moet u de relatie bewerken. Zie het gedeelte Een tabelrelatie wijzigen voor meer informatie.

Een tabel openen in de gegevensbladweergave

  1. Klik op de Microsoft Office-knop Office-knopvlak en vervolgens op Openen.

  2. Selecteer en open de database in het dialoogvenster Openen.

  3. Klik in het navigatiedeelvenster met de rechtermuisknop op de tabel waarin u het veld wilt toevoegen en de relatie tot stand wilt brengen, en kies Gegevensbladweergave in het snelmenu.

Het deelvenster Lijst met velden openen

  • Klik op het tabblad Gegevensblad in de groep Velden en kolommen op Bestaande velden toevoegen.

    Afbeelding van Access-lint

    Het deelvenster Lijst met velden wordt weergegeven.

In het deelvenster Lijst met velden worden alle andere tabellen in de database weergegeven, ingedeeld in categorieën. Als u met een tabel werkt in de gegevensbladweergave, worden de velden in het deelvenster Lijst met velden weergegeven in een van beide volgende categorieën: In gerelateerde tabellen beschikbare velden en In andere tabellen beschikbare velden. In de eerste categorie staan alle tabellen die een relatie hebben met de tabel die u momenteel hebt geopend. In de tweede categorie staan alle tabellen waarmee de tabel waaraan u werkt geen relatie heeft.

Als u in het deelvenster Lijst met velden op het plusteken (+) naast een tabelnaam klikt, krijgt u een lijst te zien met alle velden die beschikbaar zijn in die tabel. Als u een veld aan de tabel wilt toevoegen, sleept u het gewenste veld vanuit het deelvenster Lijst met velden naar de tabel in de gegevensbladweergave.

Een veld toevoegen en een relatie maken vanuit het deelvenster Lijst met velden

  1. Klik op het tabblad Gegevensblad in de groep Velden en kolommen op Bestaande velden toevoegen.

    Afbeelding van Access-lint

    Het deelvenster Lijst met velden wordt weergegeven.

  2. Klik onder In andere tabellen beschikbare velden op het plusteken (+) naast een tabelnaam om de lijst met velden in die tabel weer te geven.

  3. Sleep het gewenste veld vanuit het deelvenster Lijst met velden naar de tabel die is geopend in de gegevensbladweergave.

  4. Wanneer de invoeglijn verschijnt, zet u het veld op die positie neer.

    De wizard Opzoeken wordt gestart.

  5. Volg de aanwijzingen om de wizard Opzoeken te voltooien.

    Het veld wordt weergegeven in de gegevensbladweergave.

Wanneer u een veld uit een 'andere' (niet-gerelateerde) tabel sleept en vervolgens de wizard Opzoeken uitvoert, wordt er automatisch een nieuwe een-op-veel-relatie gemaakt tussen de tabel in de Lijst met velden en de tabel waar u het veld naartoe hebt gesleept. Deze relatie dwingt standaard geen referentiële integriteit af. Als u referentiële integriteit wilt afdwingen, moet u de relatie bewerken. Zie het gedeelte Een tabelrelatie wijzigen voor meer informatie.

Naar boven

Een tabelrelatie verwijderen

Als u een tabelrelatie wilt verwijderen, moet u de relatielijn verwijderen in het venster Relaties. Plaats de cursor zodanig dat deze naar de relatielijn wijst en klik vervolgens op de lijn. De relatielijn wordt dikker weergegeven wanneer deze wordt geselecteerd. Druk met de relatielijn geselecteerd op DEL. Houd er rekening mee dat u met het verwijderen van een relatie ook de ondersteuning voor referentiële integriteit voor die relatie verwijdert (indien deze is ingeschakeld). Dit heeft tot gevolg dat het maken van niet-gekoppelde records aan de 'veel'-kant van de relatie niet langer meer automatisch wordt voorkomen.

  1. Klik op de Microsoft Office-knop Office-knopvlak en vervolgens op Openen.

  2. Selecteer en open de database in het dialoogvenster Openen.

  3. Klik op het tabblad Databasehulpmiddelen, in de groep Weergeven/verbergen, op Relaties.

Het venster Relaties wordt geopend.

Als u nog geen relaties hebt gedefinieerd en dit de eerste keer is dat u het venster Relaties opent, wordt het dialoogvenster Tabel weergeven geopend. Klik op Sluiten als het dialoogvenster wordt weergegeven.

  1. Klik op het tabblad Ontwerpen, in de groep Relaties, op Alle relaties.

Alle tabellen die relaties hebben, worden met hun relatielijnen weergegeven.

  1. Klik op de relatielijn van de relatie die u wilt verwijderen. De relatielijn wordt dikker weergegeven wanneer deze wordt geselecteerd.

  2. Druk op de DELETE-toets.

    – of –

    Klik met de rechtermuisknop en kies Verwijderen.

  3. Het kan zijn dat het bericht Weet u zeker dat u de geselecteerde relatie permanent uit de database wilt verwijderen? wordt weergegeven. Klik op Ja als dit bevestigingsbericht verschijnt.

Opmerking : Indien een van de tabellen in de tabelrelatie in gebruik is (bijvoorbeeld door een ander persoon of een ander proces) of zich in een geopend databaseobject bevindt (bijvoorbeeld een formulier) kunt u de relatie niet verwijderen. U moet de eventueel geopende objecten die van deze tabellen gebruikmaken eerst sluiten voordat u de relatie kunt verwijderen.

Naar boven

Een tabelrelatie wijzigen

U kunt een tabelrelatie wijzigen door deze te selecteren in het venster Relaties en de relatie vervolgens te bewerken. Plaats de cursor zodanig dat deze naar de relatielijn wijst en klik vervolgens op de lijn om deze te selecteren. De relatielijn wordt dikker weergegeven zodra deze is geselecteerd. Als de relatielijn is geselecteerd, dubbelklikt u erop of klikt u op Relaties bewerken in de groep Extra op het tabblad Ontwerpen. Het dialoogvenster Relaties bewerken wordt geopend.

Breng de gewenste wijzigingen aan in het dialoogvenster Relaties bewerken

  1. Klik op de Microsoft Office-knop Office-knopvlak en vervolgens op Openen.

  2. Selecteer en open de database in het dialoogvenster Openen.

  3. Klik op het tabblad Databasehulpmiddelen, in de groep Weergeven/verbergen, op Relaties.

Het venster Relaties wordt geopend.

Als u nog geen relaties hebt gedefinieerd en dit de eerste keer is dat u het venster Relaties opent, wordt het dialoogvenster Tabel weergeven geopend. Klik op Sluiten als het dialoogvenster wordt weergegeven.

  1. Klik op het tabblad Ontwerpen, in de groep Relaties, op Alle relaties.

Alle tabellen met relaties worden weergegeven en de relatielijnen zijn zichtbaar. Verborgen tabellen (tabellen waarvoor het selectievakje Verborgen is ingeschakeld in het dialoogvenster Eigenschappen van de tabel) en de bijbehorende relaties worden niet weergegeven, tenzij Verborgen objecten weergeven is ingeschakeld in het dialoogvenster Navigatieopties.

Zie voor meer informatie over de optie Verborgen objecten weergeven het artikel Het navigatiedeelvenster gebruiken.

  1. Klik op de relatielijn van de relatie die u wilt wijzigen. De relatielijn wordt dikker weergegeven zodra u deze selecteert.

  2. Dubbelklik op de relatielijn.

    – of –

    Klik op het tabblad Ontwerpen, in de groep Extra, op Relaties bewerken.

    Het dialoogvenster Relaties bewerken wordt geopend.

    Het dialoogvenster Relaties bewerken

  3. Breng uw wijzigingen aan en klik vervolgens op OK.

    In het dialoogvenster Relaties bewerken kunt u een tabelrelatie wijzigen. U kunt met name de tabellen, query's of velden aan beide kanten van de relatie wijzigen. Daarnaast kunt u het jointype instellen of referentiële integriteit afdwingen en een stapsgewijze bewerking kiezen. Zie het gedeelte Het jointype instellen voor meer informatie over het jointype en hoe u het moet instellen. Zie het gedeelte Referentiële integriteit afdwingen voor meer informatie over de wijze waarop u referentiële integriteit kunt afdwingen en een stapsgewijze bewerking kunt kiezen.

Het jointype instellen

Wanneer u een tabelrelatie definieert, worden de feiten over de relatie automatisch doorgegeven aan uw queryontwerpen. Als u bijvoorbeeld een relatie tussen twee tabellen definieert en vervolgens een query maakt waarin deze tabellen worden gebruikt, worden de velden die standaard overeenkomen automatisch geselecteerd op basis van de velden die zijn gespecificeerd in de relatie. Het is wel mogelijk deze initiële standaardwaarden te wijzigen in uw query, maar de door de relatie geleverde waarden zijn in de meeste gevallen correct. In bijna alle databases (de heel eenvoudige niet meegerekend) zult u regelmatig gegevens uit meerdere tabellen moeten vergelijken en bijeenbrengen. Het instellen van standaardwaarden bij het maken van relaties kan om die reden een tijdbesparende en efficiënte uitwerking hebben.

Een query voor meerdere tabellen combineert informatie uit meerdere tabellen door in gemeenschappelijke velden naar overeenkomstige waarden te zoeken. De bewerking die het zoeken en combineren uitvoert, wordt een join genoemd. Stel dat u orders van klanten wilt weergeven. U maakt een query die de tabel Klanten aan de tabel Orders koppelt op basis van het veld Klantnummer. Het queryresultaat bevat alleen de klantgegevens en ordergegevens van de rijen waarvoor een overeenkomende waarde is gevonden.

Het jointype is een van de waarden die u voor elke relatie kunt opgeven. Aan de hand van het jointype kan worden bepaald welke records moeten worden opgenomen in het queryresultaat. Denk bijvoorbeeld aan een query die de tabel Klanten aan de tabel Orders koppelt op basis van de gemeenschappelijke velden die het Klantnummer vertegenwoordigen. Met behulp van het standaard-jointype (een inner join genoemd) retourneert de query alleen de rijen Klanten en de rijen Orders waarvoor de gemeenschappelijke velden (ook wel de gekoppelde velden genoemd) identiek zijn.

Stel nu dat het queryresultaat alle klanten moet retourneren, ook de klanten die nog geen orders hebben geplaatst. Hiervoor moet u het jointype veranderen van een inner join in wat een left outer join wordt genoemd. Een left outer join retourneert alle rijen uit de tabel aan de linkerkant van de relatie en alleen die rijen uit de rechtertabel die een overeenkomende waarde bevatten. Een right outer join retourneert alle rijen uit de rechtertabel en alleen die rijen uit de linkertabel die een overeenkomende waarde bevatten.

Opmerking : In dit geval verwijzen 'left' en 'right' naar de positie van de tabellen in het dialoogvenster Relaties bewerken, niet in het venster Relaties.

Bedenk eerst wat in de meeste gevallen het gewenste resultaat moet zijn van een query die de tabellen in deze relatie aan elkaar koppelt, en stel vervolgens het jointype aan de hand hiervan in.

Het jointype instellen

  1. Klik in het dialoogvenster Relaties bewerken op Jointype.

    Het dialoogvenster Joineigenschappen wordt geopend.

  2. Klik op uw keuze en klik vervolgens op OK.

In de volgende tabel (waarin de tabellen Klanten en Orders worden gebruikt) ziet u de drie keuzemogelijkheden in het dialoogvenster Joineigenschappen, het type join dat wordt gebruikt en of voor beide tabellen alle rijen of alleen de overeenkomende rijen worden opgenomen.

Keuze

Relationele join

Linkertabel

Rechtertabel

1. Alleen rijen waarvoor de gekoppelde velden uit beide tabellen identiek zijn opnemen.

Inner join

Overeenkomende rijen

Overeenkomende rijen

2. Alle records uit Klanten en alleen records uit Orders waarvoor de gekoppelde velden identiek zijn opnemen.

Linker outer join

Alle rijen

Overeenkomende rijen

3. Alle records uit Orders en alleen records uit Klanten waarvoor de gekoppelde velden identiek zijn opnemen.

Right outer join

Overeenkomende rijen

Alle rijen

Als u optie 2 of 3 kiest, verschijnt er een pijl op de relatielijn. Deze pijl wijst naar de kant van de relatie die alleen overeenkomende rijen weergeeft.

Wijzigingen aanbrengen in het dialoogvenster Joineigenschappen

  1. Klik op de Microsoft Office-knop Office-knopvlak en vervolgens op Openen.

  2. Selecteer en open de database in het dialoogvenster Openen.

  3. Klik op het tabblad Databasehulpmiddelen, in de groep Weergeven/verbergen, op Relaties.

Het venster Relaties wordt geopend.

Als u nog geen relaties hebt gedefinieerd en dit de eerste keer is dat u het venster Relaties opent, wordt het dialoogvenster Tabel weergeven geopend. Klik op Sluiten als het dialoogvenster wordt weergegeven.

  1. Klik op het tabblad Ontwerpen, in de groep Relaties, op Alle relaties.

Alle tabellen met relaties worden weergegeven en de relatielijnen zijn zichtbaar. Verborgen tabellen (tabellen waarvoor het selectievakje Verborgen is ingeschakeld in het dialoogvenster Eigenschappen van de tabel) en de bijbehorende relaties worden niet weergegeven, tenzij Verborgen objecten weergeven is ingeschakeld in het dialoogvenster Navigatieopties.

Zie voor meer informatie over de optie Verborgen objecten weergeven het artikel Het navigatiedeelvenster gebruiken.

  1. Klik op de relatielijn van de relatie die u wilt wijzigen. De relatielijn wordt dikker weergegeven zodra u deze selecteert.

  2. Dubbelklik op de relatielijn.

    – of –

    Klik op het tabblad Ontwerpen, in de groep Extra, op Relaties bewerken.

    Het dialoogvenster Relaties bewerken wordt geopend.

  3. Klik op Jointype

  4. Klik in het dialoogvenster Joineigenschappen op een optie en klik op OK.

    Het dialoogvenster Joineigenschappen

  5. Breng eventuele aanvullende wijzigingen aan in de relatie en klik vervolgens op OK.

Naar boven

Referentiële integriteit afdwingen

Het gebruik van referentiële integriteit is bedoeld om niet-gekoppelde records te voorkomen en ervoor te zorgen dat verwijzingen gesynchroniseerd blijven, zodat records niet verwijzen naar andere niet-bestaande records. U dwingt referentiële integriteit af door deze optie in te schakelen voor een tabelrelatie. Wanneer deze optie is ingeschakeld, worden alle bewerkingen geweigerd die in strijd zijn met de referentiële integriteit van de betreffende tabelrelatie. Access weigert updates waarmee het doel van een verwijzing wordt gewijzigd alsmede verwijderingen waarmee het doel van een verwijzing wordt verwijderd. Zie het gedeelte De opties voor trapsgewijze bewerkingen instellen als u referentiële bijwerkingen en verwijderingen wilt doorvoeren zodat alle rijen dienovereenkomstig worden gewijzigd.

Referentiële integriteit in- of uitschakelen

  1. Klik op de Microsoft Office-knop Office-knopvlak en vervolgens op Openen.

  2. Selecteer en open de database in het dialoogvenster Openen.

  3. Klik op het tabblad Databasehulpmiddelen, in de groep Weergeven/verbergen, op Relaties.

Het venster Relaties wordt geopend.

Als u nog geen relaties hebt gedefinieerd en dit de eerste keer is dat u het venster Relaties opent, wordt het dialoogvenster Tabel weergeven geopend. Klik op Sluiten als het dialoogvenster wordt weergegeven.

  1. Klik op het tabblad Ontwerpen, in de groep Relaties, op Alle relaties.

Alle tabellen met relaties worden weergegeven en de relatielijnen zijn zichtbaar. Verborgen tabellen (tabellen waarvoor het selectievakje Verborgen is ingeschakeld in het dialoogvenster Eigenschappen van de tabel) en de bijbehorende relaties worden niet weergegeven, tenzij Verborgen objecten weergeven is ingeschakeld in het dialoogvenster Navigatieopties.

Zie voor meer informatie over de optie Verborgen objecten weergeven het artikel Het navigatiedeelvenster gebruiken.

  1. Klik op de relatielijn van de relatie die u wilt wijzigen. De relatielijn wordt dikker weergegeven zodra u deze selecteert.

  2. Dubbelklik op de relatielijn.

    – of –

    Klik op het tabblad Ontwerpen, in de groep Extra, op Relaties bewerken.

    Het dialoogvenster Relaties bewerken wordt geopend.

  3. Schakel het selectievakje Referentiële integriteit afdwingen in.

  4. Breng eventuele aanvullende wijzigingen aan in de relatie en klik vervolgens op OK.

Nadat u referentiële integriteit hebt afgedwongen, zijn de volgende regels van toepassing:

  • Een waarde kan alleen in het refererende-sleutelveld van een gerelateerde tabel worden geplaatst als deze waarde al aanwezig is in het primaire-sleutelveld van de primaire tabel. Anders worden er niet-gekoppelde records gemaakt.

  • Een record kan niet uit een primaire tabel worden verwijderd als er overeenkomstige records bestaan in een gerelateerde tabel. U kunt bijvoorbeeld geen record van een werknemer uit de tabel Werknemers verwijderen als er orders aan deze werknemer zijn toegewezen in de tabel Orders. U kunt echter wel een primaire record en alle gerelateerde records in één bewerking verwijderen door het selectievakje Gerelateerde records trapsgewijs verwijderen in te schakelen.

  • Een primaire-sleutelwaarde in de primaire tabel kan niet worden gewijzigd als hierdoor niet-gekoppelde records zouden ontstaan. U kunt bijvoorbeeld geen ordernummer in de tabel Orders wijzigen als er regelitems aan die order zijn toegewezen in de tabel Orderinformatie. U kunt echter wel een primaire record en alle gerelateerde records in één bewerking bijwerken door het selectievakje Gerelateerde velden trapsgewijs bijwerken in te schakelen.

    Notities : Als u problemen ondervindt bij het inschakelen van referentiële integriteit, moet u er rekening mee houden dat aan de volgende voorwaarden moet worden voldaan om referentiële integriteit te kunnen afdwingen:

    • Het gemeenschappelijke veld van de primaire tabel moet een primaire sleutel zijn of een unieke index bevatten.

    • De gemeenschappelijke velden moeten hetzelfde gegevenstype hebben. De enige uitzondering hierop is dat een AutoNummering-veld kan zijn gerelateerd aan een Nummer-veld waarvan de eigenschap Veldgrootte is ingesteld op Lange integer.

    • Beide tabellen moeten tot dezelfde Access-database behoren. Referentiële integriteit kan niet worden afgedwongen op gekoppelde tabellen. Als de brontabellen echter de bestandsindeling van Access hebben, kunt u de database openen waarin de tabellen zijn opgeslagen en referentiële integriteit in die database inschakelen.

De opties voor trapsgewijze bewerkingen instellen

Er kan zich een situatie voordoen waarin u een gegronde reden hebt om de waarde aan de 'een'-kant van een relatie te wijzigen. In een dergelijke situatie moet u alle betrokken rijen automatisch laten bijwerken als onderdeel van één bewerking. Op die manier wordt de update volledig uitgevoerd zodat uw database niet inconsistent wordt (dat wil zeggen, sommige rijen wel bijgewerkt en andere niet). In Access kan dit probleem worden voorkomen met behulp van de optie Gerelateerde velden trapsgewijs bijwerken. Stel dat u referentiële integriteit hebt afgedwongen en de optie Gerelateerde velden trapsgewijs bijwerken hebt ingeschakeld. Als u vervolgens een primaire sleutel bijwerkt, worden alle velden die naar de primaire sleutel verwijzen ook automatisch bijgewerkt.

In sommige gevallen kan het nodig zijn een rij en alle gerelateerde records te verwijderen, bijvoorbeeld een verzender en alle gerelateerde orders voor die verzender. Daarom biedt Access ondersteuning voor de optie Gerelateerde records trapsgewijs verwijderen. Stel dat u referentiële integriteit hebt afgedwongen en de optie Gerelateerde records trapsgewijs verwijderen hebt ingeschakeld. Als u vervolgens de record verwijdert die de primaire sleutel bevat, worden alle records die naar de primaire sleutel verwijzen ook automatisch verwijderd.

Trapsgewijs bijwerken en/of trapsgewijs verwijderen in- of uitschakelen

  1. Klik op de Microsoft Office-knop Office-knopvlak en vervolgens op Openen.

  2. Selecteer en open de database in het dialoogvenster Openen.

  3. Klik op het tabblad Databasehulpmiddelen, in de groep Weergeven/verbergen, op Relaties.

Het venster Relaties wordt geopend.

Als u nog geen relaties hebt gedefinieerd en dit de eerste keer is dat u het venster Relaties opent, wordt het dialoogvenster Tabel weergeven geopend. Klik op Sluiten als het dialoogvenster wordt weergegeven.

  1. Klik op het tabblad Ontwerpen, in de groep Relaties, op Alle relaties.

Alle tabellen met relaties worden weergegeven en de relatielijnen zijn zichtbaar. Verborgen tabellen (tabellen waarvoor het selectievakje Verborgen is ingeschakeld in het dialoogvenster Eigenschappen van de tabel) en de bijbehorende relaties worden niet weergegeven, tenzij Verborgen objecten weergeven is ingeschakeld in het dialoogvenster Navigatieopties.

Zie Het navigatiedeelvenster gebruiken voor meer informatie over de optie Verborgen objecten weergeven.

  1. Klik op de relatielijn van de relatie die u wilt wijzigen. De relatielijn wordt dikker weergegeven zodra u deze selecteert.

  2. Dubbelklik op de relatielijn.

    – of –

    Klik op het tabblad Ontwerpen, in de groep Extra, op Relaties bewerken.

    Het dialoogvenster Relaties bewerken wordt geopend.

  3. Schakel het selectievakje Referentiële integriteit afdwingen in.

  4. Schakel het selectievakje Gerelateerde velden trapsgewijs bijwerken en/of het selectievakje Gerelateerde records trapsgewijs verwijderen in.

  5. Breng eventuele aanvullende wijzigingen aan in de relatie en klik vervolgens op OK.

Opmerking : Als de primaire sleutel een AutoNummering-veld is, gebeurt er niets als u het selectievakje Gerelateerde velden trapsgewijs bijwerken inschakelt omdat de waarde in een AutoNummering-veld niet kan worden gewijzigd.

Naar boven

Opmerking : Disclaimer voor automatische vertaling: Dit artikel is vertaald door een computersysteem zonder menselijke tussenkomst. Microsoft biedt deze automatische vertalingen aan om niet-Engels sprekende gebruikers te helpen de inhoud over producten, services en technologieën van Microsoft te raadplegen. Omdat het artikel automatisch is vertaald, bevat het mogelijk fouten in grammatica, woordenschat en syntaxis.

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×