Dus je hebt de overstap gemaakt van een spreadsheet naar een database. U hebt uw tabellen opgesteld en al uw waardevolle gegevens moeiteloos overgedragen. Je neemt een welverdiende pauze, leun achterover en kijk naar de tabellen die je hebt gemaakt. Wacht even - ze zien er vreemd vertrouwd uit voor de spreadsheets die je zojuist hebt verstoten. Heb je het wiel opnieuw uitgevonden? Wat is het verschil tussen een spreadsheet en een database eigenlijk?
Een van de grote voordelen van databases zoals Microsoft Access is hun vermogen om relaties tussen verschillende gegevenstabellen te onderhouden. De kracht van een database maakt het mogelijk om gegevens op verschillende manieren te correleren en de consistentie (of referentiële integriteit ) van deze gegevens van tafel tot tafel. In dit artikel bekijken we het proces voor het maken van een eenvoudige relatie met behulp van een Microsoft Access-database.
Stel je een kleine database voor die we hebben gemaakt voor de Acme Widget Company. We willen zowel onze medewerkers als onze klantorders volgen. We kunnen een tabel gebruiken die één tabel bevat voor werknemers met de volgende velden:
- Werknemers-ID (primaire sleutel)
- Voornaam
- Achternaam
- Uitbreiding
- Salaris
- Manager
We hebben dan misschien een tweede tabel met de bestellingen die door onze werknemers zijn gedaan. Die bestellijst kan de volgende velden bevatten:
- Bestel-ID (primaire sleutel)
- Klanten ID
- Werknemers-ID
- Item ID
- Aantal stuks
Merk op dat elke bestelling is gekoppeld aan een specifieke werknemer. Deze overlapping van informatie biedt de perfecte situatie voor het gebruik van een databaserelatie. Samen maken we een Foreign Key-relatie die de database instrueert dat de kolom EmployeeID in de tabel Orders overeenkomt met de kolom EmployeeID in de tabel Employees.
Zodra de relatie tot stand is gebracht, hebben we een krachtige reeks functies in Microsoft Access gelanceerd. De database zorgt ervoor dat alleen waarden die overeenkomen met een geldige medewerker (zoals vermeld in de tabel Werknemers) kunnen worden ingevoegd in de tabel Orders. Daarnaast hebben we de mogelijkheid om de database opdracht te geven om alle aan een medewerker gekoppelde orders te verwijderen wanneer de werknemer wordt verwijderd uit de tabel Werknemers.
Hier is hoe we gaan over het creëren van de relatie in Access 2013:
- Klik op het tabblad Hulpmiddelen voor databases op het lint op Relaties.
- Markeer de eerste tabel die u wilt opnemen in de relatie (Medewerkers) en klik op Toevoegen.
- Herhaal stap 2 voor de tweede tabel (Orders).
- Klik op de knop Sluiten. U zou nu de twee tabellen in het venster Relaties moeten zien.
- Klik op de knop Relaties bewerken in het lint.
- Klik op de knop Nieuw maken.
- Kies Werknemers in het venster Nieuw maken als de linkertabelnaam en -orders als de juiste tabelnaam.
- Kies Medewerkers-ID als zowel de linkerkolomnaam als de rechterkolomnaam.
- Klik op OK om het venster Nieuw maken te sluiten.
- Gebruik het selectievakje in het venster Relaties bewerken om te kiezen of u Referentiële integriteit wilt afdwingen. In de meeste gevallen wilt u deze optie selecteren. Dit is de echte kracht van een relatie - het zorgt ervoor dat nieuwe records in de tabel Orders alleen de ID's van geldige werknemers uit de tabel Werknemers bevatten.
- Je zult ook twee andere opties opmerken. De "Cascade Update Related Fields" -optie zorgt ervoor dat als een EmployeeID-wijziging in de tabel Werknemers die wijziging wordt doorgevoerd naar alle gerelateerde records in de tabel Orders. Evenzo verwijdert de optie "Cascade Delete Related Records" alle verwante Orders-records wanneer een werknemersrecord wordt verwijderd. Het gebruik van deze opties hangt af van de specifieke vereisten van uw database. In dit voorbeeld zullen we geen van beide gebruiken.
- Klik op Type join om de drie beschikbare opties te bekijken. Als u bekend bent met SQL, merkt u misschien dat de eerste optie overeenkomt met een inner join, de tweede met een linker outer join en de laatste met een rechter outer join. We gebruiken een inner join voor ons voorbeeld.
-
- Neem alleen rijen op waarvan de samengevoegde velden uit beide tabellen gelijk zijn.
-
- Neem ALLE records op uit 'Medewerkers' en alleen die records uit 'Orders' waar de samengevoegde velden gelijk zijn.
- Neem ALLE records op uit 'Orders' en alleen die records van 'Employees' waar de samengevoegde velden gelijk zijn.
- Klik op OK om het venster Join Properties te sluiten.
- Klik op Maken om het venster Relaties bewerken te sluiten.
- U zou nu een diagram moeten zien dat de relatie tussen de twee tabellen toont.




