Hallo,
Ik ben bezig met het ontwikkelen van een Webshop maar nu heb ik een vraag over bezorgen en betalen. Mijn doel is om beide zaken zo flexibel mogelijk te houden. Als we er vanuit gaan dat er drie verschillende bezorgmogelijkheden zijn (afhalen, bezorgen via TPG en bezorgen via UPS) en een stuk of acht verschillende betaalmogelijkheden (ideal, automatische incasso, zelf overmaken, rembours, etc.) dan wordt het voor mij qua database ontwerp erg ingewikkeld.
Een order heeft altijd één betaalmethode terwijl hij meerdere bezorgmethoden kan hebben (een order kan opgesplitst worden in meerdere bezorgingen, zoals bijvoorbeeld bij amazon.com). Nu heb ik zelf verschillende opties in gedachten:
• Een heleboel velden in de tabel 'Order' en 'Delivery' die allemaal ingevuld kunnen worden als dat nodig is. Dit veroorzaakt een heleboel nutteloze velden die soms misschien amper gebruikt worden. Tevens moeten er voor elke nieuwe methode weer velden bijkomen.
• Hetzelfde idee als hierboven maar dan voor elke methode een 1 op 1 relatie met de betreffende tabel. Voordeel is dat er nu niet honderden NULL values in de database komen. Nadelen blijven hetzelfde.
• Tabellen met betaalmethoden en bezorgmethoden en zowel daarin, als in de tabellen Order en Delivery een paar velden in beide tabellen die betrekking hebben op bepaalde functies (link naar webservices) en data (geserialiseerd xml). Nadeel is dat het uitwerken op client niveau naar bijvoorbeeld de velden die je moet aanmaken erg complex is. Het is wel erg flexibel.
Ik heb behoorlijk veel eisen, zoals het automatisch kunnen uitrekenen van bezorgkosten aan de hand van de gekozen bezorgmethode. Vandaar mijn idee voor webservices. Tevens moeten betalingen te tracen zijn, iets wat natuurlijk ook via webservices kan.
Tot nu toe kwam ik er redelijk uit met database ontwerp, maar nu loop ik echt vast. Heeft er iemand tips of kan iemand suggesties geven over bovenstaande uitwerkingen?
Ik ben bezig met het ontwikkelen van een Webshop maar nu heb ik een vraag over bezorgen en betalen. Mijn doel is om beide zaken zo flexibel mogelijk te houden. Als we er vanuit gaan dat er drie verschillende bezorgmogelijkheden zijn (afhalen, bezorgen via TPG en bezorgen via UPS) en een stuk of acht verschillende betaalmogelijkheden (ideal, automatische incasso, zelf overmaken, rembours, etc.) dan wordt het voor mij qua database ontwerp erg ingewikkeld.
Een order heeft altijd één betaalmethode terwijl hij meerdere bezorgmethoden kan hebben (een order kan opgesplitst worden in meerdere bezorgingen, zoals bijvoorbeeld bij amazon.com). Nu heb ik zelf verschillende opties in gedachten:
• Een heleboel velden in de tabel 'Order' en 'Delivery' die allemaal ingevuld kunnen worden als dat nodig is. Dit veroorzaakt een heleboel nutteloze velden die soms misschien amper gebruikt worden. Tevens moeten er voor elke nieuwe methode weer velden bijkomen.
• Hetzelfde idee als hierboven maar dan voor elke methode een 1 op 1 relatie met de betreffende tabel. Voordeel is dat er nu niet honderden NULL values in de database komen. Nadelen blijven hetzelfde.
• Tabellen met betaalmethoden en bezorgmethoden en zowel daarin, als in de tabellen Order en Delivery een paar velden in beide tabellen die betrekking hebben op bepaalde functies (link naar webservices) en data (geserialiseerd xml). Nadeel is dat het uitwerken op client niveau naar bijvoorbeeld de velden die je moet aanmaken erg complex is. Het is wel erg flexibel.
Ik heb behoorlijk veel eisen, zoals het automatisch kunnen uitrekenen van bezorgkosten aan de hand van de gekozen bezorgmethode. Vandaar mijn idee voor webservices. Tevens moeten betalingen te tracen zijn, iets wat natuurlijk ook via webservices kan.
Tot nu toe kwam ik er redelijk uit met database ontwerp, maar nu loop ik echt vast. Heeft er iemand tips of kan iemand suggesties geven over bovenstaande uitwerkingen?