Ce que vous essayez d'obtenir est une Entity-Attribute-Value (EAV) ou éventuellement une modélisation en ligne Solution. Notez que ce type de structure est largement mal vu pour une grande variété de bonnes raisons.
Cependant, j'ai argumenté (par exemple ici , ici , ici , et ici ) que EAV est EVIL, sauf quand ce n'est pas le cas. L'une de ces rares exceptions est le cas d'un catalogue de produits où vous suivez les propriétés des produits et où ces propriétés ne sont pas si intéressantes (pour votre système ! ) sauf dans la mesure où vous avez besoin de les récupérer et de les imprimer sur une page web produit ou une grille de comparaison, etc.
Considérez un design comme celui-ci :
Ce que vous faites dans un modèle comme celui-ci, c'est décrire les attributs que les produits d'une catégorie donnée devraient avoir, les valeurs que ces attributs pourraient avoir, puis les valeurs que chaque produit spécifique a pour chaque attribut.
Cette conception présente toutes les limitations habituelles imposées par EAV. Cependant, si vous souhaitez poser des questions du type :"Quelles perles ont un diamètre de 8 mm ?" c'est assez simple.