Sabyasachi Mukherjee Ответов: 1

Помощь в разработке дизайна базы данных продаж


Отказ от ответственности: я новичок в области базы данных.

Я пытаюсь создать базу данных в PostgresQL, которая будет отслеживать запасы вместе с записью продаж и покупок товаров. Я намерен использовать эту базу данных в качестве модели с EF и WPF, используя подход MVVM.

У меня есть таблица, в которой записываются текущие запасы для каждого товара. Моя проблема заключается в том, чтобы корректировать этот запас каждый раз, когда происходит продажа или когда мы покупаем сырье.

Что я уже пробовал:

Я придумал три основных способа решения этой проблемы.

Первый-триггер: каждый раз, когда запись вставляется в таблицу продаж или таблицу покупок, запас корректируется соответствующим образом.

Второй - сложить все продажи, а затем сложить все наши покупки и затем найти разницу между ними. Это создает проблему - если мы удалим старые записи о покупках или продажах, расчет запасов будет неправильным.

Третья идея состояла в том, чтобы инкапсулировать запись каждой вставки данных в столбец продаж или покупок с помощью хранимой процедуры.

Не могли бы вы сказать мне, какой подход является лучшим?

1 Ответов

Рейтинг:
2

Member 12556999

используйте третью таблицу, таблицу onHand.

когда вы покупаете товар, вы добавляете запись в таблицу запасов и добавляете купленную сумму в таблицу onHand для этого товара.
когда вы продаете товар, вы добавляете запись в таблицу покупок и вычитаете сумму из таблицы onHand для проданного товара.


Sabyasachi Mukherjee

Буду ли я использовать триггеры для этого? На самом деле это был мой первый вариант.