Pour un scénario donné, je ferais :
- créer des catégories de tableau pour stocker chaque catégorie
- créer une table category_fields pour stocker chaque champ de catégorie
- créer une table collected_categories pour stocker toutes les données collectées à partir des champs de catégorie dans un hachage sérialisé
Les données collectées peuvent être facilement (dé)sérialisées dans une colonne de texte (quel que soit le moteur de base de données que vous utiliserez).
Vérifiez les sources qui utilisent votre problème :formulaires dynamiques