Wat is een relatie?
Een relatie beschrijft een verband tussen elementen uit twee of meer verzamelingen. Het is een verzameling van geordende paren/drietallen/…, tupels, waarin elk paar het verband weergeeft tussen die elementen. Bijvoorbeeld, in een relatie tussen verzameling en verzameling kan een paar (a, b)
aangeven dat element a
uit in verband staat met element b
uit .
Een tupel is een rij van elementen waarbij de volgorde van deze elementen van belang is. Bij een tupel van (1,2)
is 1
afkomstig uit de eerste verzameling en 2
afkomstig uit de tweede verzameling. Hierdoor zijn de tupels (1,2)
en (2,1)
dus ook andere tupels.
Casus
Stel je voor dat we een verzameling van studenten hebben en een verzameling van vakken. Een relatie kan aangeven welke studenten welke vakken volgen. Bijvoorbeeld: . Dit zijn geldige tupels bij deze relatie. Een tupel zoals
(Wiskunde, Jan)
zou geen geldige tupel zijn, doordat er geen vak is datJan
heet.
Hoe zit een relatie in elkaar?
Een relatie wordt gedefinieerd als een verzameling van geordende paren. Deze paren worden vaak weergegeven als tupels. Een tupel (a, b)
geeft aan dat er een verband is tussen a
en b
. Het cartetsisch product van twee verzamelingen en , genoteerd als , is de verzameling van alle mogelijke geordende paren waarbij het eerste element uit komt en het tweede uit .
Voorbeeld
De relatie R is dan een deelverzameling van A × B. Als we bijvoorbeeld de relatie “de eerste is kleiner dan de tweede” nemen, dan zou een mogelijke relatie zijn: De tweede notatie betekent: R is een deelverzameling van het cartesisch product van verzameling A en B
Hoe gebruik je een relatie?
Relaties worden gebruikt om verbanden tussen elementen in verschillende verzamelingen vast te leggen. Ze zijn nuttig bij het modelleren van gegevens en het uitvoeren van zoekopdrachten. In databases worden relaties bijvoorbeeld gebruikt om tabellen te koppelen.
Casus
Stel dat we een systeem moeten ontwikkelen waarin studenten zich kunnen inschrijven voor vakken. We hebben een verzameling van studenten en een verzameling van vakken. De relatie geeft aan welke student zich heeft ingeschreven voor welk vak.
Eisen:
- Een student kan zich voor meerdere vakken inschrijven.
- Een vak kan door meerdere studenten gevolgd worden.
- We willen de relatie kunnen uitlezen en bewerken.
Resultaten:
- Jan is ingeschreven voor Wiskunde en Informatica.
- Lisa is ingeschreven voor Wiskunde.
- Peter is ingeschreven voor Databases.
- Martijn is ingeschreven voor Wiskunde en Informatica.
Mogelijke uitwerking van de casus De verzamelingen zijn als volgt
De relatie die voor dit voorbeeld gedefinieerd kan word is “student heeft zich ingeschreven voor”. Deze relatie kan worden weergegeven als:
Het verschil met het cartesisch product zijn in dit geval alle combinaties van studenten die zich niet op vakken hebben ingeschreven zoals de tupel
(Jan, Database)
.
Volgende stap: Stappen relaties