powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Остатки на любую дату
47 сообщений из 47, показаны все 2 страниц
Остатки на любую дату
    #34122555
ak4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Решил создать програмку,которая учитывает матер-произв.запасы, типа "Склад" : -)

Задачи:
1.Просмотр остатков в архиве
2.Проводки в архиве

Не хочу изобретать велосипед еще раз, подскажите стандартную схему таблиц в "Складе" : -). Связьки какие?

Думаю вообще у "склада","бухглатерии " - одна схема. Те же остатки на тек.дату,
возможность проводок архиве , остатки на любую дату- схема одинаковая.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34122573
Фотография ILL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понятно чего сюда запостил вопрос :)
стандартные - хз. я делаю так
3 таблицы1. Товар (перечень товаров на складе):
- id (identify)
- описание_товара
- ...
2. Приход (опреации прихода на склад):
- id (identify)
- Товар_id
- дата_прихода
- количество
- цена_прихода
- ...
3. Расход (операции списания со склада):
- id (identify)
- Приход_id
- дата_расхода
- количество
- цена_расхода
- ...знаю статистику (остаток, цены и тд) на любую дату
могу выполнить списание с любого прихода (если количество позволяет ;) )
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34122605
amakridin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему дешевле объединить таблицы (2) и (3) - у прихода знак "+", у расхода "-"
Вот тут и остатки легче считать
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34122668
ak4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ок,парни ,спасибо, сделаю как вы сказали: -)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34122678
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы использовал схему с отдельной таблицей остатков на даты.
Иначе в будущем для получения остатка на произвольный день придется перелопачивать так или иначе все приходы/расходы. Соответственно, удалить "старые накладные" не получится.
А вообще это - в "Проектирование БД".
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34122968
gybson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Четыр таблицы: товары, склады, движения, остатки

В движениях все движения (и + и -), в остатках остатки после последнего движения.

P.S. Лучше хранить не цену, а сумму.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34123021
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ak4
Подхода всего 2:
1. Хранить текущие остатки и по приходу расходу рассчитывать остатки на дату. Недостаток - неэффективно и чревато невосстановимыми ошибками.
2. Хранить остатки на конец периодов и по приходу расходу рассчитывать остатки на дату. Недостаток - текущий остаток надо рассчитывать и необходима процедура закрытия-открытия периода.
Имхо чаще применяется 2.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34123040
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gybsonP.S. Лучше хранить не цену, а сумму.+1
Сумма всегда точно известна, а вот дробность цены при этом может не укладываться ни в какую размерность - например, купили какой-нибудь блок из 3-х предметов за 100р. :)
А может хранить и то и другое - "пригодицца".

Еще в складском учете бывает необходимость учитывать сразу в 2-х "системах измерения" - гайки закупаются обычно килограммами, а расходуются штуками. Поэтому проще внести полученную сумму, а уже в зависимости от ситуации пилить сумму.

PS - вспомнилось:
Продали мы однажды в "почтовый ящик" 100м коаксиала.
Поскольку "привычной" единицей измерения были для нас "штуки", в накладной значилось прмерно: "Кабель Ethernet, 10р/м, 103 шт." Пока накладную не переделали, складовщик отказывался принимать бухтой, предлагалось порезать на метровые отрезки, чтобы "сошлось". :)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34123094
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод2. Хранить остатки на конец периодов и по приходу расходу рассчитывать остатки на дату. Недостаток - текущий остаток надо рассчитывать и необходима процедура закрытия-открытия периода.
Имхо чаще применяется 2.Зачем обязательно открытие? Если нужно закрывать отчетный период от такой процедуры все равно никуда не денешься. :) А не нужно - считаем период днем и всего делов-то. В процедуре прихода/расхода (я бы в триггере делал) пересчитывается остаток за день, в котрый происходило "движение". Обязательно предусмотреть механизм, позволяющий удалять "накладные" без пересчета остатков.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34123612
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeColo®esЗачем обязательно открытие? Обязательно предусмотреть механизм, позволяющий удалять "накладные" без пересчета остатков.
В этом и фокус: для изменений задним числом надо открыть все периоды, начиная с изменяемого, провести изменения, а потом все снова закрыть по порядку.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34123629
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод DeColo®esЗачем обязательно открытие? Обязательно предусмотреть механизм, позволяющий удалять "накладные" без пересчета остатков.
В этом и фокус: для изменений задним числом надо открыть все периоды, начиная с изменяемого, провести изменения, а потом все снова закрыть по порядку.Зачем "открывать/закрывать"? Пусть процедура нужные остатки (записи в таблице остатков) меняет и все. Если нужен контроль неизменности - пусть проверяется, какие периоды можно менять, а какие - нет. В чем проблема-то?
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124223
jikez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2мод
Какими такими невосстановимыми ошибками?
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124316
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeColo®es В чем проблема-то?
В зависимостях одних остатков от других. Не изобретайте велосипед, метод 2 давно используется во всех серьезных учетных системах (типа банков).
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124322
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jikezКакими такими невосстановимыми ошибками?
Если текущий остаток в рез-те ошибки станет неверным, его уже не восстановить.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124337
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
модВ зависимостях одних остатков от других. Не изобретайте велосипед, метод 2 давно используется во всех серьезных учетных системах (типа банков).Вы действительно видели ВСЕ банковские системы?!
И подробности реализации? :)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124481
jikez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2мод
если есть полная история всех проводок то восстановить последний остаток не проблема
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124535
Фотография Валентин К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
модПодхода всего 2:
1. Хранить текущие остатки и по приходу расходу рассчитывать остатки на дату. Недостаток - неэффективно и чревато невосстановимыми ошибками.
2. Хранить остатки на конец периодов и по приходу расходу рассчитывать остатки на дату. Недостаток - текущий остаток надо рассчитывать и необходима процедура закрытия-открытия периода.
Имхо чаще применяется 2.
По варианту 2 - зачем процедура закрытия-открытия периода?
Измерение времени не дискретное.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124539
Фотография Валентин К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет банков. Есть понятие времени, а есть опердня. В банках применяется опердень. для справки: Опердень - оперативный день.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124662
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jikezесли есть полная история всех проводок то восстановить последний остаток не проблема
Конечно, но как правило старые данные удаляют
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124681
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валентин КПо варианту 2 - зачем процедура закрытия-открытия периода?
Измерение времени не дискретное.
Закрытие - подбить бабки за период и сформировать остатки
Открытие - разрешить изменения в этом периоде
Период д.б. дискретным день, неделя, месяц
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124688
Фотография Валентин К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дискретность измерение - понятие синтетическое, а не реальное. Т.е. шкала дат непрерывная. Остатки на дату не подразумевают закрытие или открытие периода, это всего лишь отчет !!! а не модель хранения данных.

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

Остальное самостоятельно :)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124700
Фотография Валентин К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Закрыть - открыть доступ к изменениям.

ДЛЯ ЭТОГО не нужно ни закрытие ни открытие периодов !!! Это доступ к данным за определенной точкой времени ИЛИ ПРОСТО 1 дата ! ниже которой документы нельзя менять. И нечего городить огород и изобретать мопед, который не мой, я просто разместил объяву :)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34124917
GreyCardinal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Многое зависит от объемов данных
если их менее лямя (операций) то думаю что вариант расчета в онлайне по сумме операций прокатит везде
тоже самое если нужно "точечные выборки" -
у меня на базе в 500 000 000 строк выборка из 100 000 суммируется за 0,254 сек

так что надо прикладывать к условиям задачи
а не проектировать многотонный самоствал, если человеку надо перевозить на дачу мешок картошки раз в год ;)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34125555
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
существует простое правило: храните те данные, к которым чаще всего обращаются.... текущий остаток. Остальное все можно вытянуть запросами, впрочем как и пересчитать текущий остаток по транзакциям. Впрочем об этом здесь уже говорилось.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34125771
ak4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создал отдельную табличку - даты проводок- для хранения остатка по дням...

Допустим юзер решил ввести расход архднем....
Тогда придется нарастающим исправлять остатки в табличке "Даты_проводок" ,а если вдруг красное сальдо в каком нить дне?

Вы как поступаете в этом случае?
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34125881
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ak4Допустим юзер решил ввести расход архднем....
Тогда придется нарастающим исправлять остатки в табличке "Даты_проводок" ,а если вдруг красное сальдо в каком нить дне?
Вы как поступаете в этом случае?
Сгачала проверить, потом проводить, ессно.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34125893
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmсуществует простое правило: храните те данные, к которым чаще всего обращаются.... текущий остаток.
О проблемах тек. остатка я уже говорил, добавлю еще конкуренцию за ресурс.
На практике такой подход годится для простых и небольших учетных систем.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126416
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод iscrafmсуществует простое правило: храните те данные, к которым чаще всего обращаются.... текущий остаток.
О проблемах тек. остатка я уже говорил, добавлю еще конкуренцию за ресурс.
На практике такой подход годится для простых и небольших учетных систем.
Когда Вы делаете подобные заявления, то всегда добавляйте "по моему мнению" или "в моей практике". :)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126474
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 мод
--
просмотрел все, не нашел где Вы говорили о проблемах текущих остатков. Хотел почитать
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126525
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод iscrafmсуществует простое правило: храните те данные, к которым чаще всего обращаются.... текущий остаток.
О проблемах тек. остатка я уже говорил, добавлю еще конкуренцию за ресурс.
На практике такой подход годится для простых и небольших учетных систем.Отчасти согласен - "текущего" остатка достаточно только для "небольших" задач.
В "больших" системах всегда есть нужда хранить остатки на некие моменты, по которым "бьются" отчеты - дни, месяцы. Если этого не делать, то для расчета остатка задним числом придется анализировать все изменения, произошедшие в базе с момента запуска или ретроспективно.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126541
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeColo®esОтчасти согласен - "текущего" остатка достаточно только для "небольших" задач.
В "больших" системах всегда есть нужда хранить остатки на некие моменты, по которым "бьются" отчеты - дни, месяцы. Если этого не делать, то для расчета остатка задним числом придется анализировать все изменения, произошедшие в базе с момента запуска или ретроспективно.
:) Вы делали, пробовали или просто так думаете?
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126570
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm:) Вы делали, пробовали или просто так думаете?Именно. В одной системе как раз сначала хранил только текущий остаток. После того, как для склада потребовалась "реальная работа", а не просто "сверка наличия", пришлось перерабатывать систему под перерасчет ежедневных остатков. Иначе расчет "учетных карточек" шел бы неприлично долго. И не было бы возможности удалять накладные N-летней давности.

В данный момент тоже работаю с системой, в которой без этих "промежуточных" остатков все загнется.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126588
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeColo®es iscrafm:) Вы делали, пробовали или просто так думаете?Именно. В одной системе как раз сначала хранил только текущий остаток. После того, как для склада потребовалась "реальная работа", а не просто "сверка наличия", пришлось перерабатывать систему под перерасчет ежедневных остатков. Иначе расчет "учетных карточек" шел бы неприлично долго. И не было бы возможности удалять накладные N-летней давности.

1. Что за зверь такой "учетная карточка"?
2. Что такое "реальная работа"?
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126598
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeColo®esВ данный момент тоже работаю с системой, в которой без этих "промежуточных" остатков все загнется.
систему можно сделать таким образом, что загнется в любом варианте. Причем с промежуточными остатками еще более вероятней.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126605
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmдобавляйте "по моему мнению" или "в моей практике". :)
Да, конечно (стараюсь, иногда забываю :))
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126619
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmпросмотрел все, не нашел где Вы говорили о проблемах текущих остатков.
Здесь
/topic/361159&pg=1#3390064
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34126656
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод iscrafmпросмотрел все, не нашел где Вы говорили о проблемах текущих остатков.
Здесь
/topic/361159&pg=1#3390064
спсб. Только к сожалению не нашел ответов на вопросы. Почему не эффективно и что такое невосстановимые...
---
Складывается мнение, что складская система занимается расчетом обороток по периодам, а не управляет конкурентным доступом к ресурсам (ну и конечно много чем еще).
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127106
vladvol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Используется такое представление данных.

В табличке хранится:
1. входящий остаток на начало года для каждого объекта учета

2. и в зависимости от даты движений порождаются записи для каждого объекта учета:
входящий остаток относительно начала года
приход за день
расход за день
исходящий остаток относительно начала года

Там же хранится запись планового остатка для длительных операций.

Остаток(реальный) за день для объекта учета определяется как: сумма остатка из последней записи на начало года + сумма остатка из последней записи движения.

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

А провод задним числом - это болезнь, которой еще многие бухи болеют. На сколько я не ошибаюсь, есть понятие сторно для этих случаев, хотя в большинстве систем возможность отката есть. При этих возможностях действительно надо проверять на корректность отражения исправлений в будущем.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127335
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm Почему не эффективно и что такое невосстановимые...
1. Тяжело считать остатки на дальние даты.
2. М.б. много update-ов на одну и ту-же запись.
При разрушении тек. остатка (по ошибке) его в общем случае не восстановить.
iscrafm Складывается мнение, что складская система занимается расчетом обороток по периодам, а не управляет конкурентным доступом к ресурсам.
Как вариант, можно блокировать счет.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127607
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валентин Кдля справки: Опердень - оперативный день.
Вообще-то операционный. Оперативный - это в милицию.

vladvolНа сколько я не ошибаюсь, есть понятие сторно для этих случаев, хотя в большинстве систем возможность отката есть
Для справки, понятие сторно совсем не равнозначно откату.

iscrafm...храните те данные, к которым чаще всего обращаются.... текущий остаток. Остальное все можно вытянуть запросами, впрочем как и пересчитать текущий остаток по транзакциям
Чтобы придать предметность спору. Положим, по счету каждый день существует от 5 до 10 тыс. проводок (коррсчет небольшого банка/филиала). Как быстро вы вытяните запросами остаток/обороты на начало года, если прошло несколько лет работы? Как быстро вы будете это вытягивать, если у вас сотни-тысячи счетов? А ведь существуют еще многочисленные нюансы, которых мы не касаемся - типа операций планируемых, проведенных, существует учет по различным разрезам аналитики (регистрам) - который, как правило, хранится в той же таблице операций...
С другой стороны, если уж вы собрались держать остаток текущий, то вы все равно уже собрались держать расчитанное число (т.е. помимо первоисточника). И разница - хранить ли только текущий или все остатки на дату движения, невелика. А крупность системы определяется как раз тем, что выбрано дискретностью периода - день, месяц там, год и т. п.

Nobody faults but mine... (LZ)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127625
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aag
мне почему-то казалось, что мы здесь склад обсуждаем :)
хранение остатков по счетам немного другая тема, хотя и тоже интересная
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127862
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm aag
мне почему-то казалось, что мы здесь склад обсуждаем :)
хранение остатков по счетам немного другая тема, хотя и тоже интереснаяОк, то же самое - по складу:
Допустим, некая "ревизия".
Нужно:
Поднять карточки учета по Н-ному к-ву позиций товара.
Ну с этим просто - это просто приход/расход по позиции с расчетом остатка на каждый день.
Но что делать, если есть задача "хранить инфо строго за последние 3 года, не больше"?
Ведь тогда нужно иметь "входящий остаток по позиции"...

Далее - просто отчет по "движению товара" на складе. За "9 месяцев".
Позиций товара - 3 тысячи, поступлений/расходов - 100 позиций в день.
Нужно получить остаток по каждой позиции на 2 даты.
Для этого нужно перелопатить (конечно, с использованием индексов, но все же) - 3000*2*100*9*24(пусть будут только рабочие дни) = ~130М записей.
Или просканировать 43200 записей с принятием решения по кадой из них - куда какую в каком агрегате из 6000 использовать.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127863
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm aag
мне почему-то казалось, что мы здесь склад обсуждаем :)
хранение остатков по счетам немного другая тема, хотя и тоже интереснаяОк, то же самое - по складу:
Допустим, некая "ревизия".
Нужно:
Поднять карточки учета по Н-ному к-ву позиций товара.
Ну с этим просто - это просто приход/расход по позиции с расчетом остатка на каждый день.
Но что делать, если есть задача "хранить инфо строго за последние 3 года, не больше"?
Ведь тогда нужно иметь "входящий остаток по позиции"...

Далее - просто отчет по "движению товара" на складе. За "9 месяцев".
Позиций товара - 3 тысячи, поступлений/расходов - 100 позиций в день.
Нужно получить остаток по каждой позиции на 2 даты.
Для этого нужно перелопатить (конечно, с использованием индексов, но все же) - 3000*2*100*9*24(пусть будут только рабочие дни) = ~130М записей.
Или просканировать 43200 записей с принятием решения по кадой из них - куда какую в каком агрегате из 6000 использовать.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34127991
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeColo®es
whitems:
id,
itemid,
whid,
openqty,
onhand,
created,
....

whtransactions:
id,
batchid,
trtype,
whitemid,
qty,
...
При учете(posting) документа движения выполняется запись в whtransactions и корректируется onhand в whitems... При откате - обратные действия. На onhand - соответствущие ограничения, которые отменяют транзакции в случае, допустим, красного остатка.
Текущее состояние склада (наиболее приоритетный запрос) - select * from whitems
Остатки на прошлую дату вычисляются по whtransactions. Если вдруг и случается сбой, то onhand элементарно пересчитывается по транзакциям.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34128116
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmПри учете(posting) документа движения выполняется запись в whtransactions и корректируется onhand в whitems... При откате - обратные действия. На onhand - соответствущие ограничения, которые отменяют транзакции в случае, допустим, красного остатка.
Текущее состояние склада (наиболее приоритетный запрос) - select * from whitems
Остатки на прошлую дату вычисляются по whtransactions. Если вдруг и случается сбой, то onhand элементарно пересчитывается по транзакциям.Еще раз - вычислить можно, но сколько это времени займет?
Если нет возможности хранить транзакции-что делать? Вот нет и все? Организация не готова апгрейдить сервер каждый год только из-за того, что для корректной работы базы нужно хранить все больше и больше данных. Хотя "текущие объемы" не растут - как продавали 5 телевизоров в день, так и продают.
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34128136
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 iscrafm
А вы думаете приведенные цифры операций для складов невероятны? Я не автоматизировал по настоящему крупные склады; но, разглядывая полки МЕТРО, приходит в голову, что у них количество товарарных позиций и обьемы операций как бы даже ни больше.

автор...Остатки на прошлую дату вычисляются по whtransactions.
Это вы обьяснили, как построена ваша схема. А речь как раз и идет о том, что при наличии миллионов записей в whtransactions, расчет остатков на любую (кроме текущей) дату будет вынужден перелопачивать эти миллионы. При этом схема не существенно проще предложенного хранения остатка на каждую дату движения.

Nobody faults but mine... (LZ)
...
Рейтинг: 0 / 0
Остатки на любую дату
    #34128311
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aag2 iscrafm
А вы думаете приведенные цифры операций для складов невероятны?

нет, почему же. Вероятны. Типовой проект: около 30000 товарных позиций, 1.5 млн в год транзакций.

aagЭто вы обьяснили, как построена ваша схема. А речь как раз и идет о том, что при наличии миллионов записей в whtransactions, расчет остатков на любую (кроме текущей) дату будет вынужден перелопачивать эти миллионы. При этом схема не существенно проще предложенного хранения остатка на каждую дату движения.

это одна из схем. Но... Зачем вообще остаток именно на конкретно указанную дату. Вероятность такого запроса очень низкая. Зачем под него городить огород. Мы обычно храним еще агрегированную таблицу по периодам (см. рисунок). Оборотки по периодам очень востребованный запрос - под него и хранятся агрегированные данные. Остатки на сейчас - просто ежеминутный запрос. Под него и хранятся данные. А всякая экзотика типа остатков на 27 ноября 2003 года - вычисляется.
...
Рейтинг: 0 / 0
47 сообщений из 47, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Остатки на любую дату
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]