“Koppelen
betekent aansluiten als één geheel.”
- Sam Rain
- Sam Rain
Queries en tabellen zijn natuurlijk prachtig,
maar wat nu als je een paar tabellen hebt voor een boel formulieren of de
behoefte hebt aan een enkel rapport? De oplossing is het leggen van een relatie
tussen de tabellen, waardoor je met een query een super informatiebalk kunt
genereren.
Relaties zijn hèèl simpel, er zijn 2 gangbare relaties:
-
de 1-op-1 relatie
-
de 1-op-veel relatie.
De 1-op-1 relatie vertelt dat een rij tot maar
één andere rij mag toebehoren. De 1-op-veel relatie vertelt dat een rij kan
behoren tot meerdere andere rijen. Echt waar, dat is het!
De relaties zijn mogelijk door de ‘id’ kolom
(zie deel 2); omdat alle rijen (records) een uniek nummer hebben zijn ze
rekenkundig gemakkelijk te koppelen door een rij te ontwerpen met een ‘relatie
kolom’. Dit klinkt moeilijker dan het is.
Stel, we nemen de tabel Tijgers (zie deel 2)
en maken een extra tabel ‘Verzorgers’:
Id (reeks) – naam (tekst) – aanwezig (ja/nee)
Iedere tijger heeft 1 verzorger, dus koppelen
we de tabel Tijgers aan Verzorgers door een kolom ‘verzorger_id’ toe te voegen
aan het ontwerp van ‘Tijgers’:
Id (reeks) – naam (tekst) – leeftijd (datum) –
gewicht (numeriek) – agressiviteit (numeriek) – verzorger_id (numeriek).
Als we 10 verzorgers zouden toevoegen, hadden
we zonder relaties de Tabel Tijgers moeten uitbreiden en voor iedere
tijger de verzorger handmatig moeten invullen. Met tabellen zoals puma’s,
leeuwen en panters zou het een ramp worden en bij een geval van ziekte of
ontslag zouden de dieren verhongeren, omdat de verzorgers de database moeten
aanpassen. In plaats daarvan kan met de ‘id’ van de verzorger meteen
alle informatie van de verzorger worden opgehaald aan de hand van de tijger!
Ook kan dezelfde truuk gebruikt worden voor de andere dieren – en weet je
hoeveel verzorgers er vandaag werken!
Relaties teken je als ontwerper in diagrammen:
Verzorgers
|
Id
naam aanwezig |
Tijgers
|
Id
naam leeftijd gewicht agressiviteit verzorger_id |
Leeuwen
|
Id
naam leeftijd gewicht agressiviteit verzorger_id |
Koppelen heet een ‘join’ in queries; het
combineert een rij met een andere rij; wat ook kan is de simpele ‘waar’
(where):
Selecteer Tijgers.naam, Verzorgers.naam
waar Tijgers.Verzorger_id gelijk is aan Verzorgers.id
sorteer aflopend
uit Tabel Tijgers, Verzorgers.
waar Tijgers.Verzorger_id gelijk is aan Verzorgers.id
sorteer aflopend
uit Tabel Tijgers, Verzorgers.
Ook kun je als ontwerper de relatie definiëren
voor de ontwikkelaar als volgt:
·
Tijgers hebben 1 verzorger
·
Verzorgers hebben meerdere
tijgers.
Als ontwerper is het belangrijk om duidelijk
te zijn over wat je wilt bereiken!
Meer
lezen over Informatie Technologie? Klik hier
voor de inhoudsopgave van alle artikelen!
©SamRain
Database ontwerpen
©SamRain
Database ontwerpen
Geen opmerkingen:
Een reactie posten