Segunda Forma Normal 2FN - Normalização de dados

O que é a Segunda Forma Normal 2FN - Normalização de dados

Uma tabela está na Segunda Forma Normal 2FN se ela estiver na 1FN e todos os atributos não chave forem totalmente dependentes da chave primária (dependente de toda a chave e não apenas de parte dela).

Se o nome do produto já existe na tabela produtos, então não é necessário que ele exista na tabela de produtos. A segunda forma normal trata destas anomalias e evita que valores fiquem em redundância no banco de dados.

Procedimentos:

  • a) Identificar os atributos que não são funcionalmente dependentes de toda a chave primária;
  • b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles.

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

Exemplo de segunda forma normal

Considere a tabela vendas abaixo:

Vendas

N_pedido

Código_produto

Produto

Quant

Valor_unit

Subtotal

Agora a tabela com os dados:

tabela não está na segunda forma normal

Tabela não está na segunda forma normal

Analisando teremos:

O nome do produto depende do código do produto, porém não depende de N_pedido que é a chave primária da tabela, portanto não está na segunda forma normal. Isto gera problemas com a manutenção dos dados, pois se houver alteração no nome do produto teremos que alterar em todos os registros da tabela venda.

Para normalizar esta tabela teremos de criar a tabela Produto que ficará com os atributos Código_produto e produto e na tabela Venda manteremos somente os atributos N_pedido, código_produto, quant, valor_unit e subtotal. Veja o resultado abaixo:

tabela na segunda forma normal

Tabela na segunda forma normal

tabela na 2ª forma normal

Tabela na 2ª forma normal

Conforme visto na Primeira forma normal, quando aplicamos normalização é comum gerar novas tabelas a fim de satisfazer as formas normais que estão sendo aplicadas.

Perguntas e respostas

O que significa tabela desnormalizada?

Uma tabela desnormalizada é aquela em que não foi aplicado as regras de normalização de dados e portanto elas não atenderia uma ou mais das formas normais previstas.

Toda a tabela tem que ser aplicada a segunda forma normal?

Não. Existem tabelas onde a primeira, segunda ou a terceira forma normal não são aplicáveis, isto porque a própria natureza da tabela já está normalizada e portanto não há necessidade de fazer aplicação da segunda forma normal, por exemplo.

O que acontece se eu não fizer aplicação da segunda forma normal em uma tabela?

Conforme explicado acima, existem casos em que de fato não é necessário pois não há nenhuma situação que implique na segunda forma normal. Se, contudo, houver a necessidade de fazer aplicação dela e você não fizer, o que acontece é que a tabela estará desnormalizada e implicará em uma redundância de dados, bem como um uso mais excessivo de recursos do banco.

Talvez o grande problema de manter uma tabela desnormalizada seja o risco que você corre de ficar com dados desatualizados, ou ter o cuidado de sempre que ela for alterada você correr um script de atualização.

O de quem é a responsabilidade de cuidar da normalização dos dados?

Esta responsabilidade recai sobre o projetista do banco de dados, pois não é um processo que você pode fazer o deve fazer a qualquer momento, mas idealmente ele deve ser feito na fase de projeto do banco para que quando ele for criado ele já seja criado dentro das formas normais previstas.

COMPARTILHE: Facebook Twitter WhatsApp


VEJA TAMBÉM:

© 2021 - Utilidade Pública: Tecnologia, Educação e Cidadania.
Este site usa cookies e ao continuar navegando, você concorda com a política de privacidade.