powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Синхронизация изменений данных в многопользов.базе
5 сообщений из 5, страница 1 из 1
Синхронизация изменений данных в многопользов.базе
    #32323216
Dmitry_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые, здравствуйте!

Наверняка кто-то сталкивался с проблемой и нашел метод решения

Есть система, в которой несколько пользователей работают с одной базой данных (склад).
Для операции списания для конкретного пользователя формируется список наличия товара на складе на определенное число. Этот пользователь сформировал данные на выполнение операции списания и запустил процедуру. Но в период между формированием списка остатков по складу и операцией списания другие пользователи добавляли/списывали товар. В результате - недостоверные данные для операции списания первым пользователем.

Как данная проблема решается в общем?

С уважением,

Дмитрий
...
Рейтинг: 0 / 0
Синхронизация изменений данных в многопользов.базе
    #32323287
Fagrant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С точки зрения складского учета, непонятна идея списания "каким-то" числом. В идеале, IMHO, отражение операций в БД должно быть довольно оперативным :)
У меня система, прежде чем принять некую транзакцию, изменяющую остатки, проверяет, а не уйдут ли остатки "в минус", после нее. Если уйдут - не принимает. Т.е. остатки проверяются дважды, чтобы дать инфу пользователю, и чтобы проверить валидность того, что он сделал. По-моему, это довольно очевидно.
Надо принять как догму, база должна постоянно находиться в "целостном" состоянии, воспринимать ее в "мгновенном" виде и работать соответственно ;)
...
Рейтинг: 0 / 0
Синхронизация изменений данных в многопользов.базе
    #32323544
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я считал и считаю, что остатки надо хранить в БД. Любая операция прихода/расхода должна независимо (через тригеры) менять эти остатки. На остаток вешается условие >=0. И все. БД сама будет следить за отсутствием минусов.
...
Рейтинг: 0 / 0
Синхронизация изменений данных в многопользов.базе
    #32323721
папа Карло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про timestamp почитай. это то что тебе надо. через него все и делается. когда ты посылаешь запрос на обновление ты посылаешь тот таймстамп который ты зачитал. далее СПшка сравнивает при апдейте если таймстамп совпадает с тем что в базе. если да, то никто ничего не менял, если нет, то райзишь ошибку и даешь пользователю думать что делать (типа: в базе произошли изменения. перекрыть его вашими изменениями или перечитать что там?)

Удачи!
...
Рейтинг: 0 / 0
Синхронизация изменений данных в многопользов.базе
    #32324157
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понял - каждый увидел свое :)

Я увидел уровень изоляции транзакций - например repeatable или serializable!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Синхронизация изменений данных в многопользов.базе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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