Interessante que para normalizar um banco de dados temos que aumentar o número de tabelas, ao mesmo tempo que temos que ficar fazendo chamadas entre tabelas, o que ativamente diminui a performance do sistema ao fazer querys.
Mas temos a prática da desnormalização onde aumentamos o número de dados redundantes para agilizar as querys.
Isso significa que temos que fazer tabelas mais feias? Não. Existe um método para desnormalizar muito melhor, as views materializadas existentes em bancos de dados como postgresql ou mysql.