Voor een interne rekenapplicatie heb ik een Excel sheet gekregen met een stuk of 5 producten met per product een prijs per oplage (500,1000,2500,25000,40000). Dit zijn afgesproken prijzen, maar mocht de gebruiker een oplage van bijvoorbeeld 1500 stuks willen hebben, dan is deze prijs uit te rekenen op basis van het verschil tussen 1000 en 2500 stuks.
Het uiteindelijke resultaat moet worden:
Nu moet ik dit vertalen naar een datamodel, alleen vraag ik me af of het e.e.a. beter c.q. efficiënter kan.
(ervan uitgaande dat de printprijs te berekenen is op basis van het geselecteerde aantal, en er dus geen commerciële verhoging opzit
)
En nu komt imo het lelijke gedeelte om de hoek zetten. De Transport kosten tabel. Omdat de prijs per stuk niet te gebruiken is kom ik er volgens mij niet onderuit om het op deze manier te doen.
Zoals je ziet zijn de kolommen Price{n} vastgelegd in de database omdat het vaste prijsafspraken zijn en de transport wereld op basis van bijvoorbeeld de prijs per pallet rekent. Al zet je 1 doos op de pallet, dan nog is de prijs hetzelfde als voor 200 dozen op diezelfde pallet. (Heel theoretisch dan he
) De kolom TypeOfTransport is een extra variabele. Levering in 72 uur is goedkoper dan levering in 24 uur. De kolom CountryId is ook een variabele. Per land zijn de transport kosten anders.
Globaal gezien komt er in de Transport tabel het volgende te staan:
prijzen zijn fictief en zijn nooit zo netjes afgerond natuurlijk.
Ben er nu al geruime tijd mee aan het spelen en persoonlijk zie ik echt geen andere optie/mogelijkheid meer. Het makkelijkste had geweest als we voor het transport ook de prijs per stuk hadden geweten, maar dat is dus niet zo.
Verder is met deze opzet een wijziging in het datamodel (dus bijvoorbeeld Price1500, een extra kolom) nog wel te overzien en lijkt me voor de applicatie ook geen wijziging nodig.
Dus: kan bovenstaand datamodel anders of is dit niet te verbeteren?
Het uiteindelijke resultaat moet worden:
code:
1
| (prijs per stuk * oplage) + transportkosten |
Nu moet ik dit vertalen naar een datamodel, alleen vraag ik me af of het e.e.a. beter c.q. efficiënter kan.
| tbl_Products |
| ProductId |
| PricePerCopy |
(ervan uitgaande dat de printprijs te berekenen is op basis van het geselecteerde aantal, en er dus geen commerciële verhoging opzit
En nu komt imo het lelijke gedeelte om de hoek zetten. De Transport kosten tabel. Omdat de prijs per stuk niet te gebruiken is kom ik er volgens mij niet onderuit om het op deze manier te doen.
| tbl_TransportCosts |
| ProductId |
| CountryId |
| TypeOfTransport |
| Price500 |
| Price1000 |
| Price2500 |
| Price25000 |
| Price40000 |
Zoals je ziet zijn de kolommen Price{n} vastgelegd in de database omdat het vaste prijsafspraken zijn en de transport wereld op basis van bijvoorbeeld de prijs per pallet rekent. Al zet je 1 doos op de pallet, dan nog is de prijs hetzelfde als voor 200 dozen op diezelfde pallet. (Heel theoretisch dan he
Globaal gezien komt er in de Transport tabel het volgende te staan:
| ProductId | CountryId | TypeOfTransport | Price500 | Price1000 | etc. etc. |
| 1 | 1 | 1 | €500 | €1000 | ... |
| 1 | 1 | 2 | €550 | €1050 | ... |
| 2 | 1 | 1 | €400 | €900 | ... |
| 2 | 1 | 2 | €450 | €950 | ... |
prijzen zijn fictief en zijn nooit zo netjes afgerond natuurlijk.
Ben er nu al geruime tijd mee aan het spelen en persoonlijk zie ik echt geen andere optie/mogelijkheid meer. Het makkelijkste had geweest als we voor het transport ook de prijs per stuk hadden geweten, maar dat is dus niet zo.
Verder is met deze opzet een wijziging in het datamodel (dus bijvoorbeeld Price1500, een extra kolom) nog wel te overzien en lijkt me voor de applicatie ook geen wijziging nodig.
Dus: kan bovenstaand datamodel anders of is dit niet te verbeteren?
Heart..pumps blood.Has nothing to do with emotion! Bored