Cursus database ontwerpen

De een op veel relatie

Cursus Database Ontwerpen - één op veel relatie  Bij de één op veel relatie is 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 de vreemde sleutel genoemd. 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 Database Ontwerpen - klanttabel met primaire sleutel  Klantnummer is de primaire sleutel (ps) in de klanttabel

tabel contactmoment Cursus Database Ontwerpen - tabel contactmoment met primaire en vreemde sleutel  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.