Я хочу иметь возможность отслеживать очки пользователей, заработанные на моем сайте. Это не совсем похоже на SO, но система баллов похожа в том, что я хочу, чтобы у каждого пользователя была общая сумма, а затем я хочу отслеживать транзакции, которые привели их к этой общей сумме.
Должен ли я хранить итоговую сумму пользователя в таблице «Пользователь» или просто извлекать все транзакции, которые влияют на пользователя в итоговых вопросах, суммировать их и отображать итоговую сумму?
Похоже, что последний - это больше работы, чем нужно, чтобы получить общее количество. Но с другой стороны, я смущаюсь идеей хранить одни и те же данные (более или менее) в двух разных местах.
Как правильно спроектировать это?
РЕДАКТИРОВАТЬ: принял совет. Используя оба и recalcs. Я добавил столбец RecalcDate, и если он старше одного дня, он будет вызван. Итоговое значение также пересчитывается каждый раз, когда пользователь делает что-то, что должно повлиять на общее количество баллов.