Hallo,
Ik zou een database moeten opzetten die zeer flexibel is. Er zouden metadata van personen in komen te staan (leeftijd, gewicht, lengte, ...).
Dit zou redelijk simpel kunnen maar het probleem is dat het mogelijk moet zijn om simpel extra metadata toe te voegen.
Dit kan natuurlijk door telkens een tabel bij te voegen en deze te matchen op id. Maar dan zou de applicatie telkens opnieuw geschreven moeten worden.
Ik dacht in eerste instantie aan het volgende:
tabel 1: met toegelaten metadata, met attributen metadata-naam, type.
Het type kan maar een vast aantal waarden aannemen (bv int, smallint, string, ...)
Dan een aantal tabellen waar de de attributen zelf opgeslaan worden.
Dan zou er voor elk type een tabel aangemaakt moeten worden van de vorm id, attribuut, waarde. Dan heb je een 'stringtabel', 'inttabel', ...
Het voordeel dat ik hiervan zie is dat er makkelijk attributen bijgevoegd kunnen worden zondar dat er iets aan de applicatie of het database schema moet veranderen. De applicatie moet gewoon tabel1 uitlezen en dan weet hij welke metadata in welke tabel te vinden is.
Dit is de beste oplossing die ik tot nu toe gevonden heb. Heeft er iemand een betere oplossing, of ziet er iemand haken en ogen aan mijn oplossing?
Ik zou een database moeten opzetten die zeer flexibel is. Er zouden metadata van personen in komen te staan (leeftijd, gewicht, lengte, ...).
Dit zou redelijk simpel kunnen maar het probleem is dat het mogelijk moet zijn om simpel extra metadata toe te voegen.
Dit kan natuurlijk door telkens een tabel bij te voegen en deze te matchen op id. Maar dan zou de applicatie telkens opnieuw geschreven moeten worden.
Ik dacht in eerste instantie aan het volgende:
tabel 1: met toegelaten metadata, met attributen metadata-naam, type.
Het type kan maar een vast aantal waarden aannemen (bv int, smallint, string, ...)
Dan een aantal tabellen waar de de attributen zelf opgeslaan worden.
Dan zou er voor elk type een tabel aangemaakt moeten worden van de vorm id, attribuut, waarde. Dan heb je een 'stringtabel', 'inttabel', ...
Het voordeel dat ik hiervan zie is dat er makkelijk attributen bijgevoegd kunnen worden zondar dat er iets aan de applicatie of het database schema moet veranderen. De applicatie moet gewoon tabel1 uitlezen en dan weet hij welke metadata in welke tabel te vinden is.
Dit is de beste oplossing die ik tot nu toe gevonden heb. Heeft er iemand een betere oplossing, of ziet er iemand haken en ogen aan mijn oplossing?
