pro-dev
@pro-dev

Склад. Как лучше учитывать товары?

Привет, друзья) Вопрос, наверное, простой, но я сейчас немного им озадачился. У меня есть склад. Учёт товаров: приход, расход, списание (брак). Операций будет много и у меня возникло две идеи учитывать товары:

  1. Хранить всё в одной таблице stoсks, где будет поле type в котором будет указываться тип операции: приход, расход, списание (брак)
  2. Хранить эти в отдельных таблицах. Таблица списаний, таблица прихода, таблица остатка.

У меня есть два вопроса:
1. Какой способ лучше выбрать 1 или 2?
2. Если выбирать 2, то как лучше получать остатки с помощью обновления дополнительной таблицы или с помощью запроса? Подскажите нюансы)

PS. Готовые системы по учету склада не предлагать. Я знаю, что они существуют, у меня есть своя специфика, которая не позволяет пользоваться другой аналогичной системой.
  • Вопрос задан
  • 351 просмотр
Решения вопроса 1
@immelnikoff
Изучаю БД
Я бы сделал так:
- Таблица Приход (ДатаВремя, FK Приходная накладная, FK Номенклатура, Кол-во, Цена);
- Таблица Расход (ДатаВремя, FK Расходная накладная, FK Номенклатура, Кол-во, FK Цена);
- Таблица Списание (ДатаВремя, FK Акт списания, FK Номенклатура, Кол-во, Причина);
- Таблица Остатки (ДатаВремя, FK Номенклатура, Кол-во). Таблица будет хранить всю хронологию изменения остатков (можно будет посмотреть остатки на любой момент времени в прошлом);
Чтобы данные в таблицах были согласованы, необходимо писать в них транзакциями. Например, если на склад поступило 10 карандашей, то внутри транзакции будет сделана запись в таблицы Приход и Остатки. Теоретически можно обойтись и без таблицы Остатки, так как как остатки на любой момент времени могут быть вычислены из других таблиц, но с точки зрения снижения нагрузки на сервер, я бы её оставил.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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