Vamos ver outro exemplo que também caracteriza a terceira forma normal. Considere a tabela abaixo que apresenta pedidos de compra e venda de produtos:
| Pedido_ID | Produto_ID | Quantidade | ValorUnitario | ValorTotal |
|---|---|---|---|---|
| 1 | 7 | 5 | 1.500,00 | 7.500,00 |
| 2 | 8 | 3 | 350,00 | 1.050,00 |
| 3 | 9 | 1 | 190,00 | 190,00 |
| 4 | 10 | 6 | 980,00 | 5.880,00 |
Observe que o campo ValorTotal é resultante da multiplicação dos campos Quantidade e ValorUnitario. Ou seja, esse campo não precisa ser armazenado no banco de dados, pois pode ser calculado a qualquer momento (incluindo a construção de uma visão que tenha na sua cláusula SELECT a instrução “Quantidade * ValorUnitario AS ValorTotal”. Pelo fato de o campo ValorTotal depender dos campos Quantidade e ValorUnitario (tem uma dependência matemática), esse campo fere a terceira forma normal. Para resolver a questão, eliminaríamos o campo ValorTotal, ficando a tabela com essa estrutura:
| Pedido_ID | Produto_ID | Quantidade | ValorUnitario |
|---|---|---|---|
| 1 | 7 | 5 | 1.500,00 |
| 2 | 8 | 3 | 350,00 |
| 3 | 9 | 1 | 190,00 |
| 4 | 10 | 6 | 980,00 |
Ao analisar nosso modelo de dados, observamos que não possuímos tabelas que necessitem desse tipo de ajuste. Portanto, nosso modelo já se encontra na terceira forma normal.