Ao aplicar a normalização (ou o oposto, denominado desnormalização), temos que ter em mente o que queremos fazer com o projeto do banco de dados. Geralmente, um modelo com poucas tabelas e muitos dados replicados tem as seguintes características:
Já um modelo cuja normalização foi feita em máximo grau, apresenta as seguintes características:
Dessa forma, performance e otimização de dados são questões antagônicas. Alguns modelos de dados (e consequentemente os projetos de software) serão melhores se forem muito normalizados; outros projetos serão melhores se forem mais eficientes. Decidir o nível de normalização é uma questão de projeto. Dessa forma, é possível ter um modelo misto, onde a maior parte do projeto de banco de dado esteja bem normalizada e alguns módulos tenham sido desnormalizados para maior eficiência nas consultas.