@Lopus

В каком виде хранить данные о товарах в бд?

Есть решения, по хранению данные о товаре в таком виде:
product (id, name)
param (id, name)
product_param (product_id, param_id, value)

Но вопрос типа данных для поля value. Можно Text, но это мне кажется слишком много. есть ли какая-то декомпозиция этого варианта? или вообще не так стоит делать? что-то в интернете мало инфы именно по этому вопросу
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 2
@alexalexes
В таблице param задавайте тип данных этого параметра, а таблице product_param весь набор полей данных, который нужен будет для описания любого параметра. Могут быть не только типы, стандартные для БД, но и по предметной области (интервалы, габариты и тд).
param (id, type_data /*тип данных параметра или размерность (лучше размерность вынести еще одним свойством)*/, name)
product_param (product_id, param_id,
value_int -- целое
value_int2 -- целое для типов интервалов целых (с value_int по value_int2 )
value_str -- строка
value_date -- дата
value_date2 -- дата для типов интервалов дат (с value_date по value_date2)
)
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Обычно делают так:

product
-------------------------------------------
id
name
price
weight
....
meta - тип json или текст

tags
id
name
productId

productTags
id
tagId
productId

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

И наконец нефункциональное выносится в json
например ссылки на мануалы, и прочее. Все это поле обрабатывается уже вашей логикой в приложении
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы