Страницы

Поиск по вопросам

пятница, 27 декабря 2019 г.

Как правильно организовать характеристики товаров на MySQL

#mysql #sql


Есть две таблицы: 

Category

id | name | description

и 

Product

id | category_id | name | description

Появилась необходимость через админку добавлять/редактировать/удалять кастомные атрибуты
категориям, и так же - через админку - значения атрибутов товаров. Например, есть следующие
категории: Продукты питания, Техника. Нужно Продуктам питания добавить атрибут Энергетическая
ценность, а Технике - Потребляемая мощность. 

1-й вопрос: как правильно организовать данные?

2-й вопрос: каким запросом, можно будет выбрать всю Технику с Потребляемой мощностью
от 100 до 200 Вт?

3-й вопрос: каким запросом можно будет редактировать/удалить ненужный атрибут
    


Ответы

Ответ 1



Нужно больше таблиц. Как минимум, еще две: таблица определений атрибутов (имя, заголовок, тип), записи которой по ключу привязаны к категориям, и таблица значений атрибутов, записи которой привязаны двумя ключами - к записям в таблице определений и к записям в таблице продуктов. На это все нужны продуманные индексы.

Ответ 2



Єсли атрибути будут добавлятса с админки и их количество не определено (но вероятно очень много) то я б рекомендовал реализовать структура подобную как в Magento больше про структура можна почитать здесь здесь или здесь

Комментариев нет:

Отправить комментарий