São objetivos da normalização:
1) Eliminar redundâncias, OK, a mesma informação pode ser referenciada por várias tabelas, estabelecendo-se relações que, na prática, são implementadas por meio de chaves estrangeiras.
2) Evitar erros de atualização, OK, objetivo implementado pela integridade referencial. Quando uma tabela eh atualizada, outra tabela "enxerga" essa atualização devido as suas relaçoes.
3) Facilitar a representação do mundo real. Aqui já discordo. O mundo real ficaria melhor representado sem eu precisar, por exemplo, especificar, em uma nova tabela q número de telefone celular e número de telefone residencial são distintos. Mesmo que um atendente de uma loja faça questão q vc informe se vc tem celular ou residencial, isso pra ele só vai fazer diferença devido aos custos de ligação, mas ambos são numeros de telefone. Já do ponto de vista técnico, vai fazer uma baita diferenca; por exemplo, nos custos de atualização do banco(se eu tiver uma tabela pra cada atributo multivalorado), não precisarei atualizar o registro inteiro apenas quando mudar o numero de celular.
4) Facilitar a imposição de restrições de integridade, Ok