powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по структуре БД....
14 сообщений из 14, страница 1 из 1
Вопрос по структуре БД....
    #34572637
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может повторяюсь....
Есть таблица с документами, есть таблица со строками... Нужно для каждого документа хранить суммы по его строкам... Как лучше сделать?
1. При обновлении строк у документа автоматом править суммы в документе....
2. Не хранить суммы в документе, а при необходимости их динамически рассчитывать....
3. может быть Ваш вариант?.....
...
Рейтинг: 0 / 0
Вопрос по структуре БД....
    #34572847
Фотография optimizer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
теория говорит вычислять, хотя иногда практика твердит обратное. надежнее вычислять
...
Рейтинг: 0 / 0
Вопрос по структуре БД....
    #34572880
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3. не формируйте отчетность по куче документов, используйте постинг для подготовки необходимых данных
...
Рейтинг: 0 / 0
Вопрос по структуре БД....
    #34573005
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть? что есть постинг?
...
Рейтинг: 0 / 0
Вопрос по структуре БД....
    #34573121
andr_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если данных много, лучше вычислять и хранить.
...
Рейтинг: 0 / 0
Вопрос по структуре БД....
    #34573160
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TORT3. может быть Ваш вариант?.....

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

Триггер позволяет поддерживать БД в непротиворечивом состоянии. Процедура позволяет восстанавливать данные после массовых загрузок или сбоев системы, когда триггеры обычно отключаются.
...
Рейтинг: 0 / 0
Вопрос по структуре БД....
    #34573165
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TORT Нужно для каждого документа хранить суммы ...... Не хранить суммы в документе
Как-то нелогично.

TORT 3. может быть Ваш вариант?.....
Зависит от требований, которые у Вас не указаны. Если "хранить, но вычислять", то materialized view. Но бывают и более интересные ситуации, скажем, если документ был распечатан, то впоследствии нужна возможность распечатать его в точно таком же состоянии, невзирая на все последующие редактирования...
...
Рейтинг: 0 / 0
Вопрос по структуре БД....
    #34573186
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да проблема вот в чем.... Если данные изменились задним числом, допустим изменилась цена в строке... Что же, вешать триггер на каждое изменение строки, искать документ, которому она принадлежит и обновлять его? А если в документе несколько тысяч строк? Вешать триггер на оператор в целом? Так получается?
...
Рейтинг: 0 / 0
Вопрос по структуре БД....
    #34573434
SergGol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TORTДа проблема вот в чем.... Если данные изменились задним числом, допустим изменилась цена в строке... Что же, вешать триггер на каждое изменение строки, искать документ, которому она принадлежит и обновлять его? А если в документе несколько тысяч строк? Вешать триггер на оператор в целом? Так получается?
1. Триггер может запускаться и при изменении определенных полей, влияющих на сумму в заголовке, а не любых полей строки.
2. Я бы делал триггер "on ech row"
3. А чего его "искать". Это, как правило, первичный ключ.
...
Рейтинг: 0 / 0
Вопрос по структуре БД....
    #34573444
SergGol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть "for ech row"
...
Рейтинг: 0 / 0
Вопрос по структуре БД....
    #34574107
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть for each row

Меня смущает вопрос производительности.... Если в БД ~100 млн.строк... И порядка 1 млн.документов...
...
Рейтинг: 0 / 0
Вопрос по структуре БД....
    #34585003
SergGol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TORT то есть for each row

Меня смущает вопрос производительности.... Если в БД ~100 млн.строк... И порядка 1 млн.документов...
И что все 100 млн. строк документов внезапно изменяются? Или вдруг будет изменено 1 млн. строк по одной из каждого документа?
С другой строны если одним запросом будет "исправлено" несколько строк относящихся к разным документам (что в принципе возможно), то в триггере включенном в целом на операцию сложно будет проапдейтить соответсвующие "шапки".
...
Рейтинг: 0 / 0
Вопрос по структуре БД....
    #34585372
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если это про первичные документы бух.учета, то мало и того другого вместе, приходится городить структуры

DocAmounts - протокол расчёта (1:M) со структурой тип/значение/...
DocTTLAmounts - итоговые суммы - WareHouse для документа (1:1)
Postings - стандартные проводки (1:M)

Пример: в позиции документа хочется хранить 9 сумм (3х3) (Accounting;Currency;National_Currency) х (Price;Tax;Gross) не говоря о наименовании, штрих коде, № п.п, ...
Для Счетов Хочется иметь Цену,налог по ставке 1,налог по ставке 2,.....акциз, Итого
Возможно также в 3х валютах

Так что всё зависит от потребностей,
ну а метод заполнения - это от реализации

Пользую все
...
Рейтинг: 0 / 0
Вопрос по структуре БД....
    #34590194
Morphey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогитє пожалуста скиньтє код поиска елемента в SQL
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по структуре БД....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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