Sorry voor de begaffelde topic-titel, maar ik weet ff niet hoe ik het anders zou moeten noemen. Anyway, wie kan mij een beetje de goede richting induwen wat betreft de volgende situatie:
Ik ben aan een stuk maatwerk software bezig in ASP.Net (C#) waarbij gebruik wordt gemaakt van een MSSQL (2000) Server. Nou moet daar o.a. de volgende functionaliteit in zitten:
In de database zijn een 8000 klanten opgeslagen. Voor iedere klant moet aan te geven zijn welke documentatie ze moeten krijgen. In de praktijk hoeven sommige klanten helemaal niks te ontvangen, anderen enkele documenten en sommigen vrijwel alles. Er zijn op dit moment ongeveer 30 verschillende documenten, maar het moet mogelijk zijn via de applicatie nieuwe documenten aan te kunnen maken (een document bestaat uit een titel, een documenttype, de inhoud, bijlagen en nog enkele andere eigenschappen).
In de oude database die werd gebruikt was er voor ieder document een aparate kolom in de tabel klanten (ieder record bevatte dus ongeveer 30 boolean-velden), wat natuurlijk de eenvoudigste oplossing is, maar wat het wel onmogelijk maakte nieuwe documenten toe te voegen. Dat moet nou dus wel mogelijk worden...en ik vroeg me dus af wat de beste manier is. 3 mogelijke oplossingen zouden iig zijn:
- Bij het aanmaken van een nieuw document, het programma een extra veld laten toevoegen aan de tabel (in dit geval: Tbl_DocPerCustomer).
- Een tabel (Tbl_DocPerCustomer) gewoon velden Fld1, Fld2 ... Fld40 aanmaken en in een aparte tabel de document-gegevens opslaan en dus bij een nieuw document gewoon een nieuw record toe voegen. Aan de hand van het aantal records zou dan kunnen worden bepaald welke van de velden Fld1, Fld2 enz. gebruikt wordt.
- Het opslaan van alle document_per_klant gerelateerde gegevens in 1 veld mbv. een xml-string.
Welke methode zouden jullie aanraden...of vind je dat ik dit helemaal verkeerd aan probeer te pakken en kan het beter via een compleet andere weg?
Ik ben aan een stuk maatwerk software bezig in ASP.Net (C#) waarbij gebruik wordt gemaakt van een MSSQL (2000) Server. Nou moet daar o.a. de volgende functionaliteit in zitten:
In de database zijn een 8000 klanten opgeslagen. Voor iedere klant moet aan te geven zijn welke documentatie ze moeten krijgen. In de praktijk hoeven sommige klanten helemaal niks te ontvangen, anderen enkele documenten en sommigen vrijwel alles. Er zijn op dit moment ongeveer 30 verschillende documenten, maar het moet mogelijk zijn via de applicatie nieuwe documenten aan te kunnen maken (een document bestaat uit een titel, een documenttype, de inhoud, bijlagen en nog enkele andere eigenschappen).
In de oude database die werd gebruikt was er voor ieder document een aparate kolom in de tabel klanten (ieder record bevatte dus ongeveer 30 boolean-velden), wat natuurlijk de eenvoudigste oplossing is, maar wat het wel onmogelijk maakte nieuwe documenten toe te voegen. Dat moet nou dus wel mogelijk worden...en ik vroeg me dus af wat de beste manier is. 3 mogelijke oplossingen zouden iig zijn:
- Bij het aanmaken van een nieuw document, het programma een extra veld laten toevoegen aan de tabel (in dit geval: Tbl_DocPerCustomer).
- Een tabel (Tbl_DocPerCustomer) gewoon velden Fld1, Fld2 ... Fld40 aanmaken en in een aparte tabel de document-gegevens opslaan en dus bij een nieuw document gewoon een nieuw record toe voegen. Aan de hand van het aantal records zou dan kunnen worden bepaald welke van de velden Fld1, Fld2 enz. gebruikt wordt.
- Het opslaan van alle document_per_klant gerelateerde gegevens in 1 veld mbv. een xml-string.
Welke methode zouden jullie aanraden...of vind je dat ik dit helemaal verkeerd aan probeer te pakken en kan het beter via een compleet andere weg?
[ Voor 1% gewijzigd door Verwijderd op 14-01-2003 11:57 . Reden: Paar tiepvauten eruit gehaald ]