Как правильно сделать структуру баз данных?
Таблица товаров (id, id_группы, название, цена, остаток, ...)
Таблица атрибутов (id, название, тип)
Таблица возможных значений атрибутов (id_атрибута, значение)
Таблица возможных характеристик товаров (id_группы, id_атрибута, обязательный)
Таблица характеристик товаров (id_товара, id_атрибута, значение)
Это навскидку самый минимум.
можно опенкарт поставить - там из коробки кажется есть таблицы с нужными полями. Импортируете, правите под себя. Как вариант.