Колко вида продукти очаквате? Всеки от тях има ли собствена логика на приложението?
Можете да направите обобщен модел, наречен модел „стойност на атрибута на обекта“, но той има МНОГО капани, когато се опитвате да се справите със специфични свойства на продукт. Обикновените заявки за търсене понякога се превръщат в истински кошмари. Основната идея е, че имате таблица, която съдържа идентификатора на продукта, името на свойството (или идентификатора в таблица със свойства) и стойността. Можете също да добавите таблици, за да съхранявате шаблони за всеки тип продукт. Така че един набор от таблици ще ви каже за всеки даден продукт какви свойства може да има (евентуално заедно с валидни стойности), а друг набор от таблици ще ви каже какви са стойностите за всеки отделен продукт.
Бих категорично предупредил да не използвате този модел, тъй като изглежда наистина хлъзгава идея, докато не трябва да я приложите.
Ако броят ви продуктови типове е разумно ограничен, бих използвал второто ви решение – една основна продуктова таблица с основни атрибути и след това допълнителни таблици за всеки конкретен тип продукт.