powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Посоветуйте, как лучше учитывать обработку данных
14 сообщений из 14, страница 1 из 1
Посоветуйте, как лучше учитывать обработку данных
    #39333513
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица с покупками. Для покупок определенного типа начисляются бонусные баллы. Исходную таблицу изменять нежелательно (добавить в нее флаг "Обработана"). Нужно не допустить дублирования бонусов (т.е. не обрабатывать одну покупку дважды). Покупок задним числом не бывает.
Подскажите, как будет правильнее?
1. Ежедневно запускается скрипт, обрабатывает покупки за предыдущие сутки.
2. Идентификаторы обработанных покупок сохраняются в отдельной таблице и из таблицы покупок извлекаются только те покупки, которые еще не были обработаны.

Второй вариант как бы надежнее, но мне кажется избыточным.

________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
Посоветуйте, как лучше учитывать обработку данных
    #39333517
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все варианты хороши, когда грамотно реализованы и учтены все особенности )
...
Рейтинг: 0 / 0
Посоветуйте, как лучше учитывать обработку данных
    #39333619
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если идентификаторы в исходной таблице назначаются sequence, то можно хранить протокол запусков с указанием диапазона обработанных id
...
Рейтинг: 0 / 0
Посоветуйте, как лучше учитывать обработку данных
    #39333630
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, это sequence.
Возможно это будет оптимальным.
В первом варианте мне не нравится вероятность проблем если вдруг ежедневный запуск не сработает, а во втором варианте не нравится слишком большая избыточность данных.
...
Рейтинг: 0 / 0
Посоветуйте, как лучше учитывать обработку данных
    #39333645
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.вероятность проблемСудя по вопросу, история когда за что начисляли не хранится. Ну-ну.
...
Рейтинг: 0 / 0
Посоветуйте, как лучше учитывать обработку данных
    #39333678
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Да, это sequence.
Возможно это будет оптимальным.
В первом варианте мне не нравится вероятность проблем если вдруг ежедневный запуск не сработает, а во втором варианте не нравится слишком большая избыточность данных.
Храни дату последней обработанной покупки и при следующем запуске начинай с неё.
...
Рейтинг: 0 / 0
Посоветуйте, как лучше учитывать обработку данных
    #39333714
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XMLerХрани дату последней обработанной покупки и при следующем запуске начинай с неё.требуется ряд допущений.
...
Рейтинг: 0 / 0
Посоветуйте, как лучше учитывать обработку данных
    #39333732
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Судя по вопросу, история когда за что начисляли не хранится.
Я думал, но не вижу особого смысла хранить историю начисления бонусов.
Список покупок в прошлом не изменяется и для сверки бонусы всегда можно пересчитать ретроспективно.
Под проблемами я подразумевал, что по какой-то причине ежедневный скрипт может не отработать и тогда начисления за этот день будут пропущены и восстанавливать их нужно будет вручную. При втором варианте такой проблемы не будет, пропущенные покупки будут обработаны при следующем запуске скрипта.
...
Рейтинг: 0 / 0
Посоветуйте, как лучше учитывать обработку данных
    #39333800
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.-2-Судя по вопросу, история когда за что начисляли не хранится.
Я думал, но не вижу особого смысла хранить историю начисления бонусов.
Смысл осознается в момент, когда возникают разногласия по начислениям.
Пока разногласий нет - по сути не нужна целая куча информации.
Счета, к примеру, не нужны.
Склад тоже не нужен.
Как и история покупок...
А если есть согласие с налоговой - то вообще весь учет становится простой формальностью.

Зато когда появляются разногласия - всю прелесть детального учета понимаешь мгновенно... но поздно :)
...
Рейтинг: 0 / 0
Посоветуйте, как лучше учитывать обработку данных
    #39333856
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-XMLerХрани дату последней обработанной покупки и при следующем запуске начинай с неё.требуется ряд допущений.
Без этого даже в туалет не сходишь
...
Рейтинг: 0 / 0
Посоветуйте, как лучше учитывать обработку данных
    #39333982
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousСмысл осознается в момент, когда возникают разногласия по начислениям.
Например? Я пытался себе представить такую ситуацию, но так и не придумал.
Есть покупки за прошлые периоды, есть соответствующие этим покупкам начисления бонусов.
Допустим есть разногласия по начислениям бонусов за вчерашний день, в этом случае нужно поднять историю покупок (которые регистрируются детально), просуммировать их вручную, посчитать бонус и сверить посчитанное с начисленным.
Но исходные данные, по которым начисляются бонусы, одни и те же, как на момент расчета, так и на любой другой момент в будущем. И результат будет одним и тем же, если только не предполагать, что CPU разучился выполнять арифметические операции.
Смысл хранить историю начислений был бы в том случае, если бы на расчет влияли параметры помимо исходных данных. Но в данном случае формула начисления бонусов полностью детерминированная.
...
Рейтинг: 0 / 0
Посоветуйте, как лучше учитывать обработку данных
    #39333990
Alibek B.сверить посчитанное с начисленным[quot Alibek B.]не вижу особого смысла хранить историю начисления бонусов.
...
Рейтинг: 0 / 0
Посоветуйте, как лучше учитывать обработку данных
    #39335268
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousЕсли идентификаторы в исходной таблице назначаются sequence, то можно хранить протокол запусков с указанием диапазона обработанных id
А как лучше проверять диапазоны?
left join с последующей проверкой на is null?
Или not exists?
...
Рейтинг: 0 / 0
Посоветуйте, как лучше учитывать обработку данных
    #39335324
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.andrey_anonymousЕсли идентификаторы в исходной таблице назначаются sequence, то можно хранить протокол запусков с указанием диапазона обработанных id
А как лучше проверять диапазоны?
left join с последующей проверкой на is null?
Или not exists?
лучше думать не тем местом на котором сидишь.
"обычно" sequence имеет тенденцию только расти и достаточно запоминать последнее обработанное значение
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Посоветуйте, как лучше учитывать обработку данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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