Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Нужен совет
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Нужен совет

Страниц (1): [1]
 

1. Ismail - 09 Декабря, 2016 - 11:47:44 - перейти к сообщению
Пишу простой аналог Яндекс Маркета. Опишу то, как сделано сейчас:

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 Компании)



Как лучше хранить данные? Пожалуйста, аргументируйте почему именно ваш вариант лучше.
2. Мелкий - 09 Декабря, 2016 - 12:38:05 - перейти к сообщению
Используйте нормальную форму пока не доказано, что для конкретного проекта это даёт больше проблем.

Ismail пишет:
для каждой компании создавать таблицу? Компаний может быть много

Элементарный запрос: показать все кампании, где есть в наличии продукт X.
Ваши действия?

 

Powered by ExBB FM 1.0 RC1