Това, което се опитвате да постигнете, е Entity-Attribute-Value (EAV) или евентуално редово моделиране решение. Имайте предвид, че този тип структура до голяма степен не се гледа с недоволство поради множество доста добри причини.
Въпреки това съм спорил (напр. тук , тук , тук и тук ), че EAV е ЗЛО, освен когато не е. Едно от тези редки изключения е в случай на продуктов каталог, където проследявате свойствата на продуктите и където тези свойства не са толкова интересни (за вашата система! ) освен доколкото трябва да ги извлечете и да ги отпечатате на уеб страница на продукта или в таблица за сравнение и т.н.
Помислете за дизайн като този:
Това, което правите в модел като този, е да описвате кои атрибути трябва да имат продуктите в дадена категория, какви стойности могат да имат тези атрибути и след това какви стойности има всеки конкретен продукт за всеки атрибут.
Този дизайн има всички обичайни ограничения, които EAV налага. Въпреки това, ако искате да зададете въпроси като:"Кои мъниста имат диаметър 8 мм?" това е доста ясно.