antipetya
@antipetya
интересующийся

Как организовать структуру БД для магазина с поиском по параметрам?

Добрый день! Перевожу свой старый магазинчик на новый движок.

Товар магазина - техника.

Как бы реализовать разное количество и значения характеристик у разных групп товаров?

В голову приходит лишь одна мысль -
1) таблица с товарами, указанной группой товара и ценами, )
2) таблица соответствия "группатовара-названиехарактеристики-идхарактеристики"
3) таблица характеристик (идтовара-идхарактеристики-значениехарактеристики)

может есть более изящный способ?
  • Вопрос задан
  • 147 просмотров
Решения вопроса 1
@Alzasr
Если решать в рамках реляционных БД, то вполне подойдет. Если реляционными БД не ограничены, то можно посмотреть в сторону NoSQL, например MongoDB.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mr_T
@mr_T
Web-разработчик
В принципе почему бы и нет. Только вот тут проблема в "нормальности" такой структуры. Если 2-й пункт делать именно таким, как описан в вопросе, то будет дублироваться "Название характеристики" в группах, где в фильтрах будет одна и та же характеристика. Это не говоря уже о том, что если на эту таблицу будут ссылаться значения характеристик у самих товаров, то будут трудности при запросе товаров по одинаковой характеристике из разных групп. Для нормализации нужно тогда разделить это на 2 таблицы - одна, в которой хранится вся информация о собственно характеристике (название, тип значения, множественность и т.д. и т.п.), вторая - таблица связи многие-ко-многим между характеристиками и группами. В таком случае к тому же будет легче изменить наборы фильтров для любой группы впоследствии.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы