Есть 3 таблицы. Поставщик,Товар.Ордер. Как найти все ордеры поставщика?

Разрабатываю организацию таблиц БД. Думаю создать следующие 3 таблицы.

Поставщики:
id
название


Товары:
id
поставщик id
цена


Ордер:
id
товар id


Нужно при выдаче товара показывать сумму всех ордеров у поставщика этого товара:
Товар: сумка
Поставщик: ООО "Завод сумок"
У этого поставщика было сделано заказов на: 500 750 руб

Посоветуйте как организовать таблицы БД? Не будет ли большой нагрузки, если при каджой выдаче товаров искать через все ордера сумму всех заказов поставщика?
Или лучше у поставщика сделать в таблице "сумма всех заказов" и приплюсовывать туда сумму при каждой покупке?

Или может быть есть другие варианты организации таблиц БД?
  • Вопрос задан
  • 1212 просмотров
Пригласить эксперта
Ответы на вопрос 3
72nomer
@72nomer
Как можно найти ордеры поставщика, если ты продаешь товар от разных поставщиков и в ордере товары от разных? И кто придумал такую замечательную структуру?
Ответ написан
Immortal_pony
@Immortal_pony Куратор тега PHP
Нормальная структура БД. Только дату оформления заказа не забудьте. Для упрощения задачи можете id поставщика также записывать и в таблицу заказов.


Не будет ли большой нагрузки, если при каджой выдаче товаров искать через все ордера сумму всех заказов поставщика?
Или лучше у поставщика сделать в таблице "сумма всех заказов" и приплюсовывать туда сумму при каждой покупке?

Нагрузка не будет большой при грамотно построенных индексах.
Ответ написан
Комментировать
@kretsu
Как по мне совершенно не нормальная структура:
Товар в принципе ничего не должен знать о поставщике.
Цена в таблице товара, цена чего? стоимость товара от поставщика или то, по чем мы будем продавать? не должно быть этого поля у товара
Ордер тоже не очень должен что либо знать о товаре.
По мне, структура должна быть примерно такой:

Поставщики:
id
название

Товары:
id
название

Ордер:
id
... (всякая общая фигная типа даты и тд)
поставщик id - если ордер может быть только от одного поставщика

Позиция_Ордера:
id
Ордер id
Поставщик id - если каждая позиция ордера может быть от различных поставщиков
Товар id
Кол-во
Цена за позицию

Это примерная структура и не касается вопросов образования цены , единиц измерения, амортизации товара и тд
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы