дата добавления/изменения записи

У нас есть задача проведения определенной пост-обработки данных от приборов учета.
Проблемма в том, данные не просто добавляются каждый новый день, но иногда дополняются и изменяются задним числом.

И непонятно, как узнать о том, что поменялось и дополнилось в прошлых периодах.

Нельзя ли дополнить те таблицы, в которых хранятся данные от приборов, полем даты изменения/добавления записи?
Причем, немаловажно, чтобы в нем была дата именно изменения, а не просто последней записи в эту строку, так как жизнь показала, что часто обновление записи происходит, но данные в ней по факту не меняются.

Возможно, вы можете предложить какой-то иной практичный выход.

Список таблиц, в которых хотелось бы отслеживать изменения:

WaterConsumptionCurrent
WaterConsumptionDay
WaterConsumptionHour
WaterConsumptionMonth
WaterEstimatedConsumption
WaterTotals

ElectricConsumptionDay
ElectricConsumptionHour
ElectricConsumptionMonth
ElectricPower
ElectricPowerQuality
ElectricTotals

GasConsumptionCurrent
GasConsumptionDay
GasConsumptionHour
GasConsumptionMonth
GasTotals


заранее спасибо

Это сильно увеличит размер базы данных, снизит быстродействие и потребует огромных изменений в во всех компонентах ЛЭРС УЧЁТ. Поэтому, пожалуйста, распишите подробнее зачем вам это требуется.

Очень странное требование. Если кто-то решил сохранить данные, то почему об этом не должно быть записи? Даже если не менялись сами данные, могут быть установлены дополнительные флаги (например, ручного ввода или импорта).

Задача простая, отслеживать изменения данных в прошедших периодах. Мы не настаиваем на каком-то конкретном для вас решении, а спросили “нельзя ли” и попросили совета.
Сейчас выходим из положения триггером на таблицы, так вот там приходится проверять, изменились ли поля записи.
Не буду говорить за текущую версию, но летом прошлого года 80% случаев изменений существующей записи не приводили к изменению хотя бы одного поля записи, включая упомянутые флаги итд.
Поэтому, чтобы найти реальные изменения в таблице, нам приходится проверять, изменилось ли в новой записи хоть что нибудь.
Мы ж не называем такое поведение системы странным, ок, у всех свои резоны.
Подскажите нам, как решить свою задачу технологичнее. Спасибо.

В настоящее время простого и технологичного способа нет.

Использование БД не самый лучший вариант, так как мы не поддерживаем работу с ней напрямую и меняем её структуру от обновления к обновлению. Самый правильны вариант был бы использовать плагин, который работает в сервере. Он может подписаться на событие сохранения данных и проверить нужные изменения.

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

Второй вариант - действительно добавить дополнительные метаданные для каждой архивной записи. В частности, дату занесения, источник данных, и т.д. Такие идеи развития системы у нас тоже есть. Это позволит функциональности ЛЭРС УЧЁТ стать ближе к SCADA-системам. Опять же конкретных сроков пока нет и объём работ в этой области мы пока даже не оценивали.

Поэтому на данный момент мы не можем предложить какого-то однозначного и быстрого решения такой задачи.