Как изменять нужные данные?

Всем привет! Прошу прощения за глупую формулировку вопроса! Не придумал лучше.
Тяжело описать вопрос поэтому я его нарисовал) Надеюсь поймете!
Коротко: Что бы сделать товар нужно выполнить определенное количество операций по определенной цене.
Операции могут меняться и цены на них тоже! И поэтому надо как то запоминать для каждого заказного товара эту информацию, что бы можно было посчитать зарплату себестоимость и та далее.
J2blxbas4QkVJr.jpg

Я пока что вижу только одно решение хранить для каждого товара в каждом заказе операции. Как бы проблем нет, но за какое то время количество строк будет просто огромным!
V2VK64gI06gkZA.jpg
Надеюсь вы меня поняли! Что вы посоветуете?
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
romy4
@romy4
Exception handler
Вам нужно иметь таблицу товаров, таблицу операций и таблицу связей товар-операции (1-*), в которой так же будет присутствовать версия связки и текущая цена. В таблице товаров при этом будет записываться версия текущей связки. При изменении связки просто увеличивается на 1 и в таблицу связей заносится набор изменившихся связей. Например из вашей схемы будут такие связки:
т - товар, оп - операция, в - версия
т1-оп1 (в1,5р), т1-оп2 (в1,2р), т1-оп3 (в1,1р), т1-оп4(в1,8р)
Если цена не меняется, то она просто копируется в новую версию:
т1-оп1 (в2,10р), т1-оп2 (в2,2р), т1-оп3 (в2,4р)
В итоге вы всегда можете проследить изменения назад и высчитать ваши себестоимости.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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