Hallo vriendjes
Ik heb momenteel een discussie over hoe een bepaalde database genormaliseerd zou moeten worden:
Het gaat om zakken die gekoppelt worden aan een laadbon. Elke bigbag is per definitie uniek. Het enige wat dubbel opgeslagen wordt is het gewicht, puur omdat als je het verder zou afsplitsen je van 1 kolom naar 2 zou gaan.
Elke zak hoort bij 1 laadbon, maar een laadbon heeft meerdere zakken. Een een-op-veel relatie dus.(toch?)
De laadbon is dan weer aan 1 klant gekoppelt, maar een klant heeft ook weer meerdere laadbonnen. Ook weer een-op-veel. (toch?)
Nu is de stelling van mij dat de juiste manier om dit te verwerken in een database is door middel van een extra kolom in de tabel zak en een extra kolom in de tabel laadbon waarin resp. het laadbon nr cq het klantnr komt.
De ander stelt dat hier een aparte koppeltabel voor zou moeten komen, ivm snelheid bij het ophalen van gegevens en het flexibel kunnen aanpassen van de tabellen.
Ik heb hier uiteraard het nodige al over opgezocht. Sommigen beweren dat het wel zou moeten, anderen weer niet.
Moet er dus een koppeltabel bij een een-op-veel relatie komen? Volgens mij maakt het select's allemaal lastiger ivm 3 inner joins ipv 2. Ook wordt het zaknr 2 x opgeslagen. dat je er aan de "1 kant" niet onderuit komt om dit te doen is logisch, maar aan de veel kant kun je het beperken tot een enkele keer.
Wat is hier de juiste manier?
Ik heb momenteel een discussie over hoe een bepaalde database genormaliseerd zou moeten worden:
Het gaat om zakken die gekoppelt worden aan een laadbon. Elke bigbag is per definitie uniek. Het enige wat dubbel opgeslagen wordt is het gewicht, puur omdat als je het verder zou afsplitsen je van 1 kolom naar 2 zou gaan.
Elke zak hoort bij 1 laadbon, maar een laadbon heeft meerdere zakken. Een een-op-veel relatie dus.(toch?)
De laadbon is dan weer aan 1 klant gekoppelt, maar een klant heeft ook weer meerdere laadbonnen. Ook weer een-op-veel. (toch?)
Nu is de stelling van mij dat de juiste manier om dit te verwerken in een database is door middel van een extra kolom in de tabel zak en een extra kolom in de tabel laadbon waarin resp. het laadbon nr cq het klantnr komt.
De ander stelt dat hier een aparte koppeltabel voor zou moeten komen, ivm snelheid bij het ophalen van gegevens en het flexibel kunnen aanpassen van de tabellen.
Ik heb hier uiteraard het nodige al over opgezocht. Sommigen beweren dat het wel zou moeten, anderen weer niet.
Moet er dus een koppeltabel bij een een-op-veel relatie komen? Volgens mij maakt het select's allemaal lastiger ivm 3 inner joins ipv 2. Ook wordt het zaknr 2 x opgeslagen. dat je er aan de "1 kant" niet onderuit komt om dit te doen is logisch, maar aan de veel kant kun je het beperken tot een enkele keer.
Wat is hier de juiste manier?

[ Voor 12% gewijzigd door Johnsel op 29-01-2010 12:53 ]