A normalização é absolutamente usada no mundo real ... e espero que você saiba que o 3NF é apenas o terceiro de ... o que é agora, 8? Mas o 3NF deve ser um alvo fácil.
No entanto ... atrevo-me a dizer que não poderia haver tal ferramenta.
Normalização, tecnicamente, é um atributo de cada tabela. Dentro de um determinado banco de dados, tabelas diferentes podem ter diferentes níveis de normalização.
Cada tabela representa fatos ... fatos sobre instâncias de um certo tipo de coisa (pessoa, conta, pedido, remessa, item, localização) incluindo, às vezes, chaves estrangeiras que levam a outros tipos de fatos sobre essa coisa.
A normalização tem a ver com a precisão e eficiência dos fatos representados nas tabelas, bem como com a capacidade do design da tabela de impedir padrões de dados ambíguos e redundantes.
Assim, é necessária uma compreensão dos fatos reais ... que está fora do escopo das ferramentas automatizadas.
Q: Is a table with { student, subject, instructor } in 3NF?
A: What are students, subjects and instructors?
Em um mundo onde todos os instrutores ensinavam todas as disciplinas e cada aluno podia fazer qualquer combinação, mas não mais de um curso em cada disciplina de cada instrutor, pode-se dizer que esta tabela está na 3NF. No mundo real, reivindicar 3NF para esta tabela é absurdo.
Entender que não está no 3NF requer uma compreensão da natureza dos fatos que representa. Em nossa realidade, esta tabela não será 3NF, já que (entre outras razões) a disciplina e o instrutor estão associados de uma maneira que nada tem a ver com o aluno. Se tivermos os cursos em que os instrutores ensinam disciplinas armazenadas em outro lugar em nosso banco de dados, por que copiaríamos os dois valores aqui em vez de uma chave estrangeira da outra tabela indicando que o aluno foi inscrito no curso? Se o instrutor for substituído, precisamos alterar vários registros em vários locais.
Quanto mais normalizado é um banco de dados, mais intrinsecamente consistente ele é com o mundo real e consigo mesmo, e mais difícil é que os fatos do banco de dados sejam inadvertidamente falsos. O design de banco de dados é uma arte, mas também é definitivamente uma ciência.
Mesmo que eu não esteja de olho em tudo o que ele escreve, eu recomendaria o livro de Chris Date, Design de Banco de Dados e Teoria Relacional: Formas Normais e Tudo Isso Jazz, que aborda detalhes excruciantes sobre a teoria subjacente ao modelo relacional.