Inhoud

De een op veel relatie

CursusBij deéén op veel relatieis 1 ding gekoppeld aan 0, 1 of meer andere dingen. Je zag al een voorbeeld met klanten en contactmomenten. 1 klant kan 0, 1 of meerdere contactmomenten hebben en een contactmoment is altijd gekoppeld aan 1 klant.

Hetzelfde geldt voor de relatie tussen moeders en hun kinderen. Elk kind heeft maar 1 moeder, maar een moeder kan geen, één of meerdere kinderen hebben. De één op veel relatie modelleer je in een relationele database als twee tabellen. Elke rij in tabel A correspondeert met 0, 1, of meerdere rijen uit tabel B. (zie afbeelding).

De klanttabel speelt de rol van tabel A en de contactmomententabel die van tabel B. Elke rij in tabel A (ofwel, elke klant) is gekoppeld aan 0,1 of meerdere rijen (ofwel, contactmomenten) in tabel B.

Het klantnummer is de primaire sleutel in tabel A, het klantnummer in tabel B wordt devreemde sleutelgenoemd. Een vreemde sleutel is een veld in een tabel dat verwijst naar de primaire sleutel van een andere tabel. Het klantnummer in onze database is de primaire sleutel in de klanttabel en in andere tabellen is het klantnummer een vreemde sleutel.

tabel klant Cursus Klantnummer is de primaire sleutel (ps) in de klanttabel

tabel contactmomentCursus Klantnummer is de vreemde sleutel (vs) in de contactmomententabel. Hij verwijst naar het klantnummer in de klanttabel. Het contactmoment_id is de primaire sleutel (ps) in de contactmomententabel.