- 1Introductie
- 2Databasegeschiedenis
- 3Voordelen en mogelijkheden van relationele databases
- 4Klantcontactsysteem
- 5Tabellen en de primaire sleutel
- 6Gegevens koppelen
- 7De één op veel relatie
- 8De veel op veel relatie
- 9De één op één relatie
- 10Database normaliseren
- 11De eerste normaalvorm (1NF)
- 12De tweede normaalvorm (2NF)
- 13De derde normaalvorm (3NF)
- 14Het definitieve database-ontwerp
- 15Nog een voorbeeld: webwinkel
- 16Conclusie
Cursus database ontwerpen
De éé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
Klantnummer is de primaire sleutel (ps) in de klanttabel
tabel contactmoment
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.