Hoofdstuk 6
Verbind tabellen in plaats van gegevens te herhalen
Laat een uitlening naar twee records verwijzen
Riley heeft de accuboormachine geleend. De catalogus kent beide records al, maar geen van beide hoort naar een nieuwe rij te worden gekopieerd.
items | ||
|---|---|---|
id | asset_tag | name |
1 | IT-100 | Cordless drill |
members | ||
|---|---|---|
id | member_code | name |
17 | MB-017 | Riley |
Een uitlening kan in plaats daarvan de twee ID’s opslaan:
loans.id | item_id | member_id | checked_out_on | returned_on |
|---|---|---|---|---|
501 | 1 | 17 | 2026-08-18 | NULL |
Volg nu de twee getallen in de uitleenrij. Elke pijl eindigt bij het overeenkomende id; uitlening 501 verwijst zelf nergens naartoe:

Lees die laatste rij van links naar rechts. Het id van elke tabel is de primaire sleutel. item_id is 1 en verwijst terug naar de boormachine. member_id is 17 en verwijst terug naar Riley. Het eigen id van de uitlening, 501, identificeert deze uitleengebeurtenis. Elk ID heeft één taak. In de afbeelding staan ITEMS, LOANS en MEMBERS voor voorwerpen, uitleningen en leden; Cordless drill is de accuboormachine.
Zo blijven veranderende gegevens op één plek. Als Rileys getoonde naam verandert, verandert de ledenrij één keer. Eerdere en huidige uitleningen blijven naar lid 17 verwijzen. Als de naam van de boormachine wordt verduidelijkt, verandert de voorwerprij om dezelfde reden één keer.
Eén lid kan in de loop van de tijd meerdere uitleenrijen hebben. Eén voorwerp kan ook meerdere uitleenrijen hebben, omdat afgeronde uitleningen als geschiedenis bewaard blijven. Dit patroon heet een één-op-veelrelatie: één bovenliggend record kan met veel gerelateerde records verbonden zijn.
De ontbrekende waarde in returned_on heeft ook een nuttige betekenis. Het voorwerp is nog niet teruggebracht. Dat gegeven helpt ons binnenkort om actieve uitleningen te vinden. Richt je voorlopig op de vorm: een uitlening bevat haar eigen gegevens en de twee ID’s die haar verbinden met records die we al hebben.
Welke waarden horen in de rij die vastlegt dat Riley de boormachine leent?