Vous avez réinventé un ancien antipattern appelé Entity-Attribute- Valeur . L'idée de champs personnalisés dans une table est vraiment logiquement incompatible avec une base de données relationnelle. Une relation a un nombre fixe de champs.
Mais même si ce n'est pas vraiment relationnel, nous devons quand même le faire parfois.
Il existe quelques méthodes pour imiter les champs personnalisés dans SQL, bien que la plupart d'entre elles enfreignent les règles de normalisation. Pour quelques exemples, voir :
- Tableau des produits, de nombreux types de produits, chaque produit a de nombreux paramètres sur StackOverflow
- Ma présentation Modélisation de données extensible avec MySQL
- Mon livre Antipatterns SQL :Éviter les pièges de la programmation de bases de données