Когда у Вас есть значения, который только зависит от одного или нескольких других полей +/-, константы (скажите, что розничная цена и сниженная цена), лучше сохранить те значения также или вычислить их "на лету" при получении данных?
Я согласен с Томиславом - постарайтесь избежать избыточности, потому что вы можете получить данные в нескольких таблицах, не согласующиеся друг с другом. Это делает обновления более болезненными.
Тем не менее, есть исключения, которые не связаны с производительностью базы данных, которые стоит рассмотреть.
По умолчанию избыточная информация не сохраняется: третья нормальная форма обычно является разумной начальной целью. Избыточность вводится, когда появляется «достаточно веская» причина, например, «достаточно большой» удар производительности, когда вам нужно вычислить производное значение, а вычисления являются интенсивными.
Очевидно, что «достаточно хорошо» и «достаточно большой» - это квалификаторы, которые означают что-то только в данном контексте. Как бы то ни было, расчет розничной цены / цены со скидкой кажется слишком дешевым и простым для выполнения, чтобы оправдать введение избыточного столбца в большинстве (очевидно, не во всех) случаях.