Ik ben bezig met het maken van een universele webapplicatie waar meerdere partijen en account kunnen krijgen en zij daarin hun klanten kunnen beheren. Nu is het zo dat het ene bedrijf bijv. het sofinummer van zijn klanten wil kunnen invoeren en een andere partij wil bijv. de geboortedatum en het interne klantnummer kunnen invoeren.
Nu zat ik te denken hoe dit databasetechnisch gezien het beste kan. Ik dacht aan twee mogelijkheden:
- een tabel klanten met daarin de velden die iedereen altijd wil gebruiken (adres, plaats, telefoonnummer etc.)
- een tabel met eigenschappen die sommige klanten willen (sofinummer, intern klantnummer bijv.)
- een koppeltabel met daarin het eigenschaptype (bijv. sofinummer) en de waarde ervan, gekoppeld aan de betreffende klant
- een tabel waarin gedefinieerd is welke partij welk eigenschaptype wil kunnen invoeren
OF
- in de eerste tabel helemaal geen klantgegevens plaatsen, maar elke eigenschap variabel, zoals sofinummer etc.
of zijn er betere ideeen?
Kleine voetnoot, het liefst maak ik gebruik van ORM maar dat lijkt me in dit geval toch niet handig. Hoor het graag als iemand daar anders over denkt.
Nu zat ik te denken hoe dit databasetechnisch gezien het beste kan. Ik dacht aan twee mogelijkheden:
- een tabel klanten met daarin de velden die iedereen altijd wil gebruiken (adres, plaats, telefoonnummer etc.)
- een tabel met eigenschappen die sommige klanten willen (sofinummer, intern klantnummer bijv.)
- een koppeltabel met daarin het eigenschaptype (bijv. sofinummer) en de waarde ervan, gekoppeld aan de betreffende klant
- een tabel waarin gedefinieerd is welke partij welk eigenschaptype wil kunnen invoeren
OF
- in de eerste tabel helemaal geen klantgegevens plaatsen, maar elke eigenschap variabel, zoals sofinummer etc.
of zijn er betere ideeen?
Kleine voetnoot, het liefst maak ik gebruik van ORM maar dat lijkt me in dit geval toch niet handig. Hoor het graag als iemand daar anders over denkt.