URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7671
[ Назад ]

Исходное сообщение
"Подскажите структуру каталога с динамическими своствами записей"

Отправлено svfolder , 23-Янв-13 14:47 
День добрый уважаемые форумчане!

Прошу помощи в определении структуры каталога товаров, с такими особенностями.

1) любое количество свойств у товара.
2) любое количество типов товаров, набор свойств привязан к типу товара.

Остальная структура особо не важна, важно чтобы эта структура была правильной с точки зрения нормализации и соответственно не тормозила при большом количестве записей как в таблицах товара так и в таблицах свойств. Ну и не требовала жутких SQL конструкций выборки ).

Интересуют схемы баз данных, ссылки на примеры, или названия программных продуктов где подобное реализовано и доступно для изучения.

Заранее благодарен за любую помощь.


Содержание

Сообщения в этом обсуждении
"Подскажите структуру каталога с динамическими своствами записей"
Отправлено PavelR , 23-Янв-13 17:58 
>[оверквотинг удален]
> Прошу помощи в определении структуры каталога товаров, с такими особенностями.
> 1) любое количество свойств у товара.
> 2) любое количество типов товаров, набор свойств привязан к типу товара.
> Остальная структура особо не важна, важно чтобы эта структура была правильной с
> точки зрения нормализации и соответственно не тормозила при большом количестве записей
> как в таблицах товара так и в таблицах свойств. Ну и
> не требовала жутких SQL конструкций выборки ).
> Интересуют схемы баз данных, ссылки на примеры, или названия программных продуктов где
> подобное реализовано и доступно для изучения.
> Заранее благодарен за любую помощь.

правильный с точки зрения нормализации - это не лучший вариант с точки зрения быстродействия. В любом случае построенную страницу товара надо кешировать, а не строить её на каждый запрос пользователя.


"Подскажите структуру каталога с динамическими своствами записей"
Отправлено svfolder , 24-Янв-13 17:44 
> правильный с точки зрения нормализации - это не лучший вариант с точки
> зрения быстродействия. В любом случае построенную страницу товара надо кешировать, а
> не строить её на каждый запрос пользователя.

Приведите в таком случае вашу схему которая дает большую производительность. Для начала необходимо подумать о скорости листинга товаров, причем без фильтра по конкретному типу товаров и листинг не простые титлы товара а с полным набором свойств (ну или частичным набором, именно уникальных наборов свойств), так как большую нагрузку дает именно выборка подобных списков а не конечная страница товара.

Например выводим список товаров по производителю, и в него вошли товары типа, чайник, утюг и дрель.

У дрели имеем характеристики
Назначение    дрель-шуруповерт
Тип инструмента    безударный
Тип патрона    быстрозажимной
Количество скоростей работы    2
Питание    от аккумулятора
Диаметр патрона    1 - 10 мм
Макс. число оборотов холостого хода    1300 об/мин
Максимальный крутящий момент    30 Н*м
Макс. диаметр сверления (дерево)    25 мм
Макс. диаметр сверления (металл)    10 мм

У чайника свой набор свойств
Тип    чайник
Объем    1.7 л
Мощность    2400 Вт
Тип нагревательного элемента    закрытая спираль
Покрытие нагревательного элемента    нержавеющая сталь
Материал корпуса    пластик

у утюга по аналогии.

Соответственно задача минимизировать нагрузку на сервер при выборке.