2.2. Quando desnormalizar (ou não normalizar)?
Imagine essa situação: uma ou mais tabelas que possuam cerca de cinco campos numéricos, e outros 5 campos que são resultados de uma série de cálculos complexos com esses valores. Agora suponha que, a todo momento, os usuários realizem consultas em todos ou vários desses registros. Nesse cenário você tem duas alternativas:
Um cenário assim, que envolva centenas ou milhares de cálculos, pode significar o sucesso ou fracasso (por travamento dos cálculos) de um sistema de informação. Dessa forma, todo modelo de dados não deve ser analisado somente sobre as diretrizes e regras de normalização, mas principalmente pelos requisitos dos usuários, que poderão fornecer subsídios essenciais para manter uma parte do modelo não normalizada.
Modelos de dados do tipo Data Warehouse são exemplos claros de modelos extremamente desnormalizados para fins de ganho de performance. Falaremos sobre eles em outro momento.