Пишу простой аналог Яндекс Маркета. Опишу то, как сделано сейчас:
1. Все товары хранятся в одной таблице Товары.
2. Все компании хранятся в одной таблице Компании.
3. Через отдельную таблицу ТоварыКомпаний связываю общие данные о товаре (Пункт 1), данные о конкретной компании (Пункт 2) и дополнительные данные о товаре (цена, артикул, кол-во на складе) для конкретной компании:
1. Товары:
id, title
2. Компании:
id, title
3. ТоварыКомпаний
product_id, company_id, price, article, stock
Вроде данный способ не плохой. Но может быть лучше для каждой компании создавать таблицу? Компаний может быть много. Например так:
ТоварыКомпаний_1 (1 - id Компании)
product_id, price, article, stock
Будут еще характеристики для товаров, для каждой компании они свои, тогда нужно будет создавать еще одну таблицу:
ТоварыКомпанийХарактеристики_1 (1 - id Компании)
Как лучше хранить данные? Пожалуйста, аргументируйте почему именно ваш вариант лучше.
1. Ismail - 09 Декабря, 2016 - 11:47:44 - перейти к сообщению
2. Мелкий - 09 Декабря, 2016 - 12:38:05 - перейти к сообщению
Используйте нормальную форму пока не доказано, что для конкретного проекта это даёт больше проблем.
Элементарный запрос: показать все кампании, где есть в наличии продукт X.
Ваши действия?
Ismail пишет:
для каждой компании создавать таблицу? Компаний может быть много
Элементарный запрос: показать все кампании, где есть в наличии продукт X.
Ваши действия?