Это похоже на this questionОтчетность по историческим данным - когда использовать текущие или исторические данные (? Предупредить пользователя об изменении смысла записи)
В основном я пишу базу данных и программное обеспечение для системы мониторинга здания. Система контролирует такие вещи, как температура, влажность, давление в единицах (например, холодильники).
Когда отчет создается для конкретного устройства, у него есть столбец для каждого датчика с именем датчика с показаниями ниже.
Я пытаюсь решить, должны ли они быть имена во время чтения или имя, как оно сейчас находится.
В настоящее время я считаю, что это должно быть последнее, потому что я склонен полагать, что с учетом того же (основного) ключа значение , которое он однозначно идентифицирует, не должно меняться, даже если это атрибуты. Итак, любые изменения имен должны быть только для исправления или разъяснения, ИМО, почти так, как если бы само имя было основным ключом (я все для естественных ключей, но, как правило, не использовал имя чего-то из-за длины и возможной необходимости в написании коррекция - в этом случае, хотя у меня есть поле «SensorNo» (не ID), которое является уникальным для контролируемого устройства).
В любом случае - это означает, что я действительно могу использовать текущее имя, и если они изменят имя датчика от «Воздуха» до «Пища», тогда он должен сказать «Продовольствие» по всем данным отчета, даже если это показывая данные до изменения, идея заключается в том, что это изменение должно означать, что оно всегда предназначалось как «Пища», а не «Воздух» - это исправление.
ни для «ключевых» данных, таких как «Верхнего предел» и «нижний предел» (в диапазоне температур, например) в исторических данные должны быть использованы при составлении отчетов, в данном случае, поскольку он показывает температурный диапазон датчик во время считывания.
Вы можете утверждать, что это похоже на изменение имени пользователя: это все тот же человек, но они могут изменить свое имя, поэтому в истории отчета всегда должны отображаться имена людей до настоящего времени, иначе может возникнуть путаница.
Мой план состоит в том, чтобы разрешить пользователям изменять имя, но сначала предупредить их о последствиях, и указать, что он должен использоваться только для исправлений.
Что представляют собой мысли людей об этом? Как вы справляетесь с этой ситуацией? Мне также интересно услышать от Catcall, который ответил на вопрос, связанный.
(Обратите внимание, что это не обсуждение того, как хранятся исторические данные, я уже отлично разбираюсь в этой стороне вещей).
Адриано: спасибо за ваш ответ. Ограничения, да, согласен, я учитываю изменение лимитов и использую исторические данные в отчетах. – Mark