EDUCAÇÃO / TECNOLOGIA / UTILIDADE PÚBLICA

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

O que é a Terceira Forma Normal 3FN - Normalização de dados

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.

 

Veja também

Comentários

Otimo artigo, eu nunca tinha entendido direito a diferença. valeu mesmo ! muito bem comentado Alexandre // Palmas-TO
Obrigada pelos posts... me ajudaram mt a entender e concluir um trabalho! Juliana // Salto/SP
concordo LUIS CARLOS // aquela
OLA VALEU CARA BABA // LISBOA
Ok...ótima abordagem da matéria. Obrigado. Diego Dayvison // Franca-SP
poh tava penando pra compreender isso pelo livro e com estes posts ficou td mais claro :D valeu pela ajuda. vai me ajudar a passar no concurso :D Diego // sao luis
Obrigada pela abordagem clara das formas normais. Não estava conseguindo compreender pelos os livros! Desse jeito ficou explicado de forma clara! :) Tatiana // Brasilia
escreva mais porq nos aqui em africa temos tido carencia de material de apoio fuvio // luanda
Este material deu-me um bom apoio, esta bem sim plificado, facil de se perceber, mto bom. Obrigado pela ajuda, e que escreva mais Airton // Luanda
Estou errado ou a tabela final não está na 2FN? O campo Valor_unit não depende de N_pedido, mas de Codigo_produto. Corrija-me, por favor. Francisco Magalhães // natal
Respondendo à dúvida do Francisco Magalhães, vai depender do negócio, amigo. Há empresas que usam tabelas de preço fixo e outras que embutem o desconto dado em balcão (por exemplo), no valor unitário, de forma que o valor unitário poderá variar para um mesmo produto em vendas diferentes. No primeiro exemplo, a tabela não estaria normalizada, mas no segundo sim. Saudações. Júlio Pacheco // Fortaleza, Brasil
Obrigado. Francisco Magalhães // natal
E o que acontece se no mesmo pedido forem comprados produtos diferentes? Nesse caso Nº Pedido não serve como chave primária, ou seria necessário usar outra chave? Grato, Daniel Daniel // São Paulo
Muito bom, simples e bem explicado com exemplos bem feitos! Daniel, acredito que se no mesmo pedido forem comprados produtos diferentes, não ha problema nenhum, pois no exemplo a tabela esta ligando codigo do produto com codigo do pedido, ou seja, ha uma tabela separada para produto e uma separada para pedido, nessa relação N para N, acredito que a tabela do exemplo é apenas uma tabela intermediária para realizar essa ligação, e ambos numero do pedido e código do produto são chaves primárias. Lucas // Santa Barbara dOeste
Francisco e Daniel. As respostas do Júlio e Lucas, respectivamente, respondem as suas perguntas. luis.blog.br // Limeira/SP
Brigadim Noooooooooosaa!!! eu penei pra caramba pra encontrar issi bem explicadim!!!!!!!! nanda // Pococity
otimo post, está de parabens são iniciativas assim que levam a difusão do conhecimento com informações precisas e claras. Melhor que muitos livros sobr BD existente hoje no mercado parabens junior // fortaleza
Bacana gostei muito da explicaçao ficou bem claro rafael // cvsfd
Caro Luis, parte do material está incorreto e os exemplo incoerentes. Obrigado pela intenção, mas cuidado ao distribuir material de baixa qualidade pela internet. Observe: Seja a tabela R( Projeto * , Cidade , País ). Essa tabela está em 1FN e 2FN, mas não está em 3FN porque o atributo País depende de Cidade. Com a sua explicação é impossível resolver isso, visto que ela trata de um CASO PARTICULAR da definição da 3FN: * Uma relação (tabela) R está em 3FN se estiver em 2FN e todo atributo não primo depender apenas de um atributo primo. (Um atributo primo é um atributo que não pertence à chave primária) Nesse caso se você remover o atributo País estará perdendo informação! O procedimento correto é decompor a tabela em: M( Projeto* , Cidade ) e N( Cidade* , Pais ) Célio Ph.D. // São Paulo
PARABÉNS, JA VI O SEUS DOIS ULTIMOS POST, E RECOMENDO A TODOS A SEGUIREM ESSAS EXPLICAÇÕES, MUITO GRATO... Vítor Prado Gonçalves // Osasco
Boa Noite, Parabens Luis otimo poster Eu estou cursando Ciencia da Computação e aqui consegui tirar minhas duvidas da teoria das formas com ajuda de tal, simples porém bem estruturado, objetivo mostrando o foco de cada normalização e com tabelas para melhorar o entendimento trazendo um pouco da pratica, para quem não possui tal visão por falta de experiencia. Diego Fanali // Pirajuí SP
gostei muito desse material, me ajudou bastante. Agora sim já sei qual a diferença e dependencia que há entre as formas normais. Vlw Marcelo Santos // Palmeira / AL
GOSTEI MUITO TAVA COM UMA DUVIDA IMENSA.... TINHA DE APRESENTAR UM TRABALHO E COMSEGUI TIRA UMA NOTA BOA .... OBRIGADA GALERA COMTINUI ASSIM... BEIJOS....=) kivia maianne... KIVIA MAIANNE // PARAISO- TO
Muito bom. Melhor artigo da internet sobre o assunto Sérgio // Salvador
Excelente material. Recomenda alguma leitura para aprofundar no assunto? Heriberto // Osasco
© 2008-2017 | LUIS.BLOG.BR | Política de Privacidade | Em Jesus Cristo eu confio