Potresti voler esaminare MongoDB. È significativamente diverso da MySQL come nel gruppo NoSQL ma sembra che potrebbe essere adatto per quello che ti serve. È possibile memorizzare gli aspetti dinamici in una tabella in un array che è qualcosa che non si può fare in una configurazione MySQL. Se tuttavia hai bisogno / vuoi restare con il database MySQL, il metodo appropriato è dividere i dati tra le tabelle come suggerito da Jonathan Henson.
Per prima cosa la struttura di MongoDB sarebbe qualcosa del tipo:
Classes:
{
Name : NameValue,
Attributes : {
0 : {
AttName : AttNameValue0,
AttVisibility : AttVisibilityValue0,
AttType : AttTypeValue0
},
1 : {
AttName : AttNameValue1,
AttVisibility : AttVisibilityValue1,
AttType : AttTypeValue1
},
2 : ...
},
Functions: {
0 : {
FuncName : FuncNameValue0,
FuncVisibility : FuncVisibilityValue0,
FuncReturnType : FuncReturnTypeValue0
},
1 : {
FuncName : FuncNameValue1,
FuncVisibility : FuncVisibilityValue1,
FuncReturnType : FuncReturnTypeValue1
},
2 : ...
}
...
}