Организация проекта. Товары, параметры, корзина.

Активист

Активист
Команда форума
Организация проекта. Товары, параметры, корзина.

Нужна помощь.

Есть группа товаров.
Скажем "Доски".

У группы есть товары:
Скажем "Доска производства ООО "Рога и копыта"

У доски есть параметры:
Высота, толищина, длинна, цена
У доски производства ООО "Рога и копыта" есть скажем 10 наименований.

Нужно вывести при просмотре товара "Доска производства ООО "Рога и копыта"
все доски (те десять наименований), с возможностью заказа.

У каждой группы товаров свои параметры.
В КМС нужно организовать управление параметрами, товарами и группами.

Сложность в органзации структуры БД. Нужен наиболее подходящий вариант с точки срезния уменьшения количества запросов к СУБД, что бы снизить на нее нагрузку. С учетом того, что параметры товара будут учавствовать в поиске для каждой группы.

Сейчас на ум приходит следущий вариант:
Три таблицы catalogGroups catalogProducts и catalogSubProducts.

Структура таблицы группы (catalogGroups):
id, parentId, title, ......, p1Title, p2Title, p[n-1]Title, p[n]Title, где n - максимальное возможное количество параметров у группы товаров,
в столбцах p[n]Title пранирую описывать название параметров, которые будут у товаров.

В таблицу catalogProducts планирую ложить информацию о товаре: фотографии, описание, и т.п.
id, ownerId, title, description и т.д.

В таблицу catalogSubProducts ложить уже информацию о "наименованиях" (параметрах товара, скажем те 10 наименований тех саммых досок производства ООО Рога и копыта),
ее структуру примерно сделать так
id - наименование
ownerId - Id товара владельца (залинковано с catalogProducts)
cost
p1Value
p2Value
..
..
p[n]Value

Значение параметров - толщина , ширина досок и т.п.

Подскажите, есть ли другие варианты организации БД для упращения работы, варианты. Голову сломал, думая как лучше.

Пример сайта (по аналогии нужно сделать) http://www.stroy-mart.ru/prod/62/index.html

Буду признателен за информацию и предложения :)
 

Активист

Активист
Команда форума
HraKK
Может быть сформировать подругому вопрос,
Паравильный ход мысли? Есть ли другие способы решения задачи. Кто как проектировал БД в данном случае. Задача нередкая.
 

Alexandre

PHPПенсионер
я хранил свойства товаров в хмл
вполне нормально работает
 
Сверху