«Это зависит». Чаще всего вы хотите избежать производных данных. Тем не менее, есть случаи, когда получение производной суммы оправдано.
Показательный пример:
Я работал над приложением кредитной базы данных, где баланс состоял из множества разных вещей и разных бизнес-правил с течением времени. Например, «баланс» на самом деле был суммой различных сальдо из разных групп, таких как Принципал, Тарифы и т. Д.
Поскольку проводки проводились, они распределялись по разным сегментам в соответствии с бизнес-правилами. Сборы пошли на ведро сборов. Покупки, кредиты и дебеты уходили в основное ведро. Эти распределения и правила могут изменяться со временем.
Представьте себе, что вы запрашиваете 100 000 балансов клиентов на лету перед лицом меняющихся бизнес-правил с течением времени. Это солидный случай, когда наличие производного значения действительно имеет смысл. Мы сохранили набор алгоритмов, чтобы «перематывать» учетную запись и восстанавливать баланс в хронологическом порядке для целей аудита и проверки, но вы не хотели ничего делать для больших наборов.