Пишу простой аналог Яндекс Маркета. Опишу то, как сделано сейчас:
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 Компании)
Как лучше хранить данные? Пожалуйста, аргументируйте почему именно ваш вариант лучше.
|