A Terceira Forma Normal (3FN) é a etapa seguinte da normalização de bancos de dados relacionais.
Seu principal objetivo é eliminar dependências transitivas, aumentando a organização e a consistência das informações.
Antes de aplicar a Terceira Forma Normal, a tabela deve atender aos requisitos das formas anteriores.
Dependência transitiva ocorre quando um atributo depende de outro atributo que não faz parte da chave primária.
Em outras palavras, uma informação é obtida indiretamente através de outro campo da tabela.
| ID_FUNCIONARIO | NOME | ID_DEPARTAMENTO | NOME_DEPARTAMENTO |
|---|---|---|---|
| 1 | Carlos | 10 | Financeiro |
| 2 | Maria | 20 | RH |
| 3 | João | 10 | Financeiro |
O campo NOME_DEPARTAMENTO não depende diretamente da chave primária ID_FUNCIONARIO.
Ele depende do campo ID_DEPARTAMENTO.
A solução consiste em separar os departamentos em uma tabela própria.
| ID_FUNCIONARIO | NOME | ID_DEPARTAMENTO |
|---|---|---|
| 1 | Carlos | 10 |
| 2 | Maria | 20 |
| 3 | João | 10 |
| ID_DEPARTAMENTO | NOME_DEPARTAMENTO |
|---|---|
| 10 | Financeiro |
| 20 | RH |
| Benefício | Resultado |
|---|---|
| Redução de redundância | Menos dados repetidos |
| Consistência | Menos erros de atualização |
| Organização | Estrutura mais eficiente |
| Manutenção | Alterações simplificadas |
Imagine uma empresa com centenas de funcionários.
Caso o nome do departamento seja alterado, seria necessário atualizar diversos registros.
Com a 3FN, a alteração é realizada apenas na tabela de departamentos.
| Sem 3FN | Com 3FN |
|---|---|
| Dados repetidos | Dados centralizados |
| Dependência transitiva | Dependência eliminada |
| Mais manutenção | Menos manutenção |
| Maior risco de erro | Maior integridade |