Я пишу стандартное приложение для базы данных с поддержкой базы данных. Предположим, что я работаю с банковскими счетами, а также с «Решениями». Решение - это выбор, который пользователь берет за перемещение денег с одного счета на другой. Каждое решение принимается в определенный день. Решение может иметь одну или несколько «исходных учетных записей», и каждая «исходная учетная запись» будет иметь одну или несколько «учетных записей». Мы называем их исходными учетными записями, потому что деньги покидают учетную запись ... Также каждое решение и учетная запись имеют соответствующую информацию, такую как имена, баланс и т. Д.Сохранять исторические данные
Пользователь хотел бы просмотреть свои прошлые решения и иметь необычные бизнес-требования , По умолчанию, когда приходит время принятия решения (например, первое из каждого месяца), он хотел бы, чтобы все предыдущие решения были скопированы на новый месяц. Это связано с тем, что он очень часто принимает одно и то же решение снова и снова, но ему хотелось бы гибко изменить любой параметр решения на новый месяц, не влияя на его предыдущие месяцы.
Как программист, когда пользователь начинает новый месяц, я просто вставляю новые строки в свою таблицу решений, но я обновляю Decision.Date. Таким образом, каждый месяц каждый пользователь может изменить список исходных учетных записей для каждого решения. Есть ли более элегантный способ достичь того же, не копируя все решения?
COW имеет больше смысла ИМО, чем сканирование данных, учитывая, что пользователи редко меняют решения. –