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 chave primária da nova entidade será o atributo do qual os atributos do qual os atributos removidos são funcionalmente dependentes.
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
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 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.
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.
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.
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.
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