Terceira Forma Normal 3FN - Normalização de dados

Veja neste artigo o que é a Terceira Forma Normal 3FN em um processo de normalização de dados, bem como a respostas a algumas perguntas, como: Preciso aplicar a normalização na terceira forma normal em todas as tabelas?

Home » Tecnologia

A terceira forma normal é parte daquilo que chamamos de normalização de dados para fins de planejamento de bases de dados computacionais. É uma forma de analisar e refinar a estrutura dos dados a fim de torná-los íntegros e exclusivos, evitando repetições desnecessárias e possíveis sobrecargas no gerenciador de banco de dados.

Uma tabela está na Terceira Forma Normal 3FN se ela estiver na 2FN e se nenhuma coluna não-chave depender de outra coluna não-chave.

Na terceira forma normal temos de eliminar aqueles campos que podem ser obtidos pela equação de outros campos da mesma tabela.

Procedimentos:

  • a) Identificar todos os atributos que são funcionalmente dependentes de outros atributos não chave;
  • b) Removê-los.

A chave primária da nova entidade será o atributo do qual os atributos removidos são funcionalmente dependentes.

Exemplo de normalização na terceira forma normal

Considere a tabela abaixo:

tabela não está na 3ª forma normal

Tabela não está na terceira forma normal

Considerando ainda a nossa tabela Venda, veremos que a mesma não está na terceira forma normal, pois o subtotal é o resultado da multiplicação Quant X Valor_unit, desta forma a coluna subtotal depende de outras colunas não-chave.

Para normalizar esta tabela na terceira forma normal teremos de eliminar a coluna subtotal, como no exemplo a seguir:

Tabela na terceira forma normal

Tabela na terceira forma normal

Conforme visto nos post primeira forma normal e segunda forma normal, a normalização torna a tabela mais otimizada e sem anomalias. Veja também o post Normalização de dados e as formas normais.

Perguntas frequentes

Qual o problema de não aplicar a terceira forma normal?

Como visto acima, a terceira forma normal tem como objetivo eliminar dados que são desnecessários no banco e que poderiam causar simplesmente o maior acúmulo de informação, inclusive incorrendo na possibilidade de desatualização desses dados.

Considere o exemplo acima: o subtotal é desnecessário, visto que ele é resultado da quantidade multiplicado pelo valor unitário e portanto a qualquer momento ele pode ser encontrado através nesta equação. Se decidirmos manter, teremos um campo a mais na tabela que obviamente irá ocupar mais espaço no banco e sempre que modificarmos a quantidade ou o valor unitário, obrigatoriamente o campo subtotal deverá ser atualizado para não correr o risco de você ter um resultado diferente do que de fato é.

Desta forma fica evidente que manter o subtotal no banco e não aplicar a terceira forma normal, traz mais prejuízo do que benefício.

Preciso aplicar a normalização na terceira forma normal em todas as tabelas?

Não. Existe algumas tabelas em que não há necessidade de aplicar a terceira forma normal, isto porque a própria característica da tabela já exclui esses dados redundantes. Seja porque o analista já observou isso e retirou na hora de montar a estrutura da tabela, ou talvez porque a própria natureza dela não traz essa necessidade de ter um campo redundante.

Assim a terceira forma normal deve ser aplicada em alguns casos apenas, onde houver uma situação similar a esse ponto fazer uma análise na suas tabelas afim de identificar campos que sejam redundante desnecessários, é uma atividade que poderá trazer benefícios no futuro.

E se eu decidir não aplicar a terceira forma normal?

Você pode trabalhar com uma tabela desnormalizada, como costumamos chamar. O que pode acontecer exatamente o que nós escrevemos na primeira pergunta desta seção. Ou seja, você terá de lidar com um dado redundante na sua tabela e sempre que houver modificação nos dados que geram esse campo redundante, ele precisará ser atualizado. Portanto o seu banco ou o seu sistema de informação precisa ser orientado a fazer essa atualização. Sem contar que em casos de banco muito grandes, isto gerará um uso a mais de recursos que poderiam ser evitados.


VEJA TAMBÉM:

CANAL NO YOUTUBE

INSCREVA-SE:



Sistemas Web

Playlist de SQL

Youtube Youtube Youtube
© 2021 - Utilidade Pública: Tecnologia, Educação e Cidadania.