Dag allemaal,
We zitten met een vraag waar we zelf niet uitkomen. De situatie is al volgt:
We zijn bezig met een applicatie voor een organisatie die jaarlijks een evenement organiseert. Daarop treden artiesten op. Ze hebben ons gevraagd om een applicatie te schrijven die per evenement gegevens kan bijhouden over die artiesten en meer.... Veel van die gegevens zijn gebonden aan een evenement, maar ook zijn veel gegevens gebonden aan de organisatie.
Een voorbeeld:
De organisatie nodigt per jaar verschillende artiesten uit, maar het kan zijn dat zijn al aanwezig waren op vorige editie's. De artiesten worden dus globaal opgeslagen, maar gekoppeld aan een evenement. Het zelfde gebeurd met producten. Zij hebben verschillende producten die ze opnieuw aankopen per evenement, deze worden globaal opgeslagen. Deze worden dan aan een evenement gekoppeld dmv een andere tabel.
Het probleem is als volgt:
Van een product wordt bijgehouden wat de eenheidsmaat is om te bestellen, bv. een fles cola. Deze worden gekocht op evenement 1. Daarna wordt het evenement afgesloten. ( evenementen zijn jaarlijks, dus kunnen elkaar niet overlappen ). Er kunnen hier dus geen evenement-specifieken gegevens meer worden aagepast.
Tijdens het aanvullen van de info over evenement 2 blijkt dat er geen flessen meer gekocht worden, maar blikken. Dan wordt het product ( die globaal opgeslagen is ) verandert van fles naar een blik. Dit is geen probleem voor evenement 2. Maar als we nu gegevens van evenement 1 opvragen ( om te kijken hoe het dan was ) zullen we zien dat er nu ( volgens de applicatie ) blikken cola verkocht werden op evenement 1. Hoewel dit niet klopt.
Het probleem gaat natuurlijk veel verder dan dit. Dit is slecht een eenvoudig voorbeeld, maar het komt neer op het feit, dat de globale info moet blijven bestaan ( zodat deze niet telkens opnieuw moet worden ingegeven ) maar dat we we een geschiedenis kunnen blijven bijhouden per evenement van deze globale data.
Wij zijn al enkele dagen op zoek, hebben al uren mogelijkheden zitten uitdenken, maar we komen er niet uit. Hoe kunnen we dit oplossen. We denken in de eerst plaats aan een aangepaste database, zodat we deze gegevens kunnen opslaan. Of is het eenvoudiger om dit in de programmacode te doen? Kan iemand ons een duwtje in de juiste richting geven?
Info over de ontwikkelingsomgeving:
ASP.NET ( .Net framework 3.5 SP1 )
MSSQL Server 2008 SP1
We zitten met een vraag waar we zelf niet uitkomen. De situatie is al volgt:
We zijn bezig met een applicatie voor een organisatie die jaarlijks een evenement organiseert. Daarop treden artiesten op. Ze hebben ons gevraagd om een applicatie te schrijven die per evenement gegevens kan bijhouden over die artiesten en meer.... Veel van die gegevens zijn gebonden aan een evenement, maar ook zijn veel gegevens gebonden aan de organisatie.
Een voorbeeld:
De organisatie nodigt per jaar verschillende artiesten uit, maar het kan zijn dat zijn al aanwezig waren op vorige editie's. De artiesten worden dus globaal opgeslagen, maar gekoppeld aan een evenement. Het zelfde gebeurd met producten. Zij hebben verschillende producten die ze opnieuw aankopen per evenement, deze worden globaal opgeslagen. Deze worden dan aan een evenement gekoppeld dmv een andere tabel.
Het probleem is als volgt:
Van een product wordt bijgehouden wat de eenheidsmaat is om te bestellen, bv. een fles cola. Deze worden gekocht op evenement 1. Daarna wordt het evenement afgesloten. ( evenementen zijn jaarlijks, dus kunnen elkaar niet overlappen ). Er kunnen hier dus geen evenement-specifieken gegevens meer worden aagepast.
Tijdens het aanvullen van de info over evenement 2 blijkt dat er geen flessen meer gekocht worden, maar blikken. Dan wordt het product ( die globaal opgeslagen is ) verandert van fles naar een blik. Dit is geen probleem voor evenement 2. Maar als we nu gegevens van evenement 1 opvragen ( om te kijken hoe het dan was ) zullen we zien dat er nu ( volgens de applicatie ) blikken cola verkocht werden op evenement 1. Hoewel dit niet klopt.
Het probleem gaat natuurlijk veel verder dan dit. Dit is slecht een eenvoudig voorbeeld, maar het komt neer op het feit, dat de globale info moet blijven bestaan ( zodat deze niet telkens opnieuw moet worden ingegeven ) maar dat we we een geschiedenis kunnen blijven bijhouden per evenement van deze globale data.
Wij zijn al enkele dagen op zoek, hebben al uren mogelijkheden zitten uitdenken, maar we komen er niet uit. Hoe kunnen we dit oplossen. We denken in de eerst plaats aan een aangepaste database, zodat we deze gegevens kunnen opslaan. Of is het eenvoudiger om dit in de programmacode te doen? Kan iemand ons een duwtje in de juiste richting geven?
Info over de ontwikkelingsomgeving:
ASP.NET ( .Net framework 3.5 SP1 )
MSSQL Server 2008 SP1