É UMA TÉCNICA DE DECOMPOSIÇÃO UTILIZADA NO PROJETO DE BD COM O OBJETIVO DE PROVER UM ARMAZENAMENTO CONSISTENTE.EVITANDO REDUNDÂNCIA DE DADOS E ANOMALIAS DE ATUALIZAÇÃO.
Diapositiva 2
1º FORMA NORMAL
PARA ESTAR NA 1ªFN OS CAMPOS DEVEM SER ATÔMICOS OU INDIVISÍVEIS E NÃO PODEM SEREM MULTIVALORADOS OU COMPOSTO.PESSOAS = {ID+ NOME + ENDERECO + TELEFONES}NORMALIZADA PESSOAS = { ID + NOME + ENDERECO }TELEFONES = { PESSOA_ID + TELEFONE }
Diapositiva 3
2ª FORMA NORMAL
PARA UMA TABELA ESTAR NA SEGUNDA FORMA NORMAL ,ELA DEVE ESTAR NA 1 FORMA NORMAL E NÃO DEVE CONTER DEPENDÊNCIAS PARCIAIS.UM JEITO DE VERIFICAR ESTA NORMA É REFAZER UMA LEITURA NOS CAMPOS FAZENDO UMA SIMPLES PERGUNTA:ESTE CAMPO DEPENDE DE TODA A CHAVE , SE NÃO TEMOS UMA DEPENDÊNCIA PARCIAL .LEMBRAR DO NOME DEPENDÊNCIA PARCIAL.
Diapositiva 4
2ª FORMA NORMAL
EXEMPLIFICANDO: A TABELA VENDA (Codvenda, Codcliente, Codcidade, Codproduto, Quantidade, Valorfinal) A questão agora é verificar se cada campo não-chave depende destas 4 chaves. O raciocínio seria assim:
O primeiro campo não-chave é Quantidade.
Quantidade depende de Codvenda, pois para cada venda há uma quantidade específica de itens.
Quantidade depende de Codvenda e Codcliente, pois para um cliente podem ser feitas várias vendas, com quantidades diferentes.
Quantidade não depende de Cidade. Quem depende de Cidade é Cliente. Aqui está uma dependência parcial.
Quantidade depende de Codproduto, pois para cada produto da Venda á uma quantidade certa.
Diapositiva 5
2º FORMA NORMAL
Quantidade depende de 3 campos, dos 4 que compõe a chave de Venda. Quem sobrou nessa história foi Codcidade. A tabela Cidade já está ligada com Cliente, que já está ligado com Venda. A chave Codcidade em Venda é redundante, portanto podemos eliminá-laVenda (Codvenda, Codcliente, Codproduto, Quantidade, Valorfinal).O próximo campo não-chave é Valorfinal. Verificando Valorfinal, da mesma forma que Quantidade, ele depende de toda a chave de Venda. Portanto vamos á próxima norma.
Diapositiva 6
3ª FORMA NORMAL .
PARA UM TABELA ESTAR NA 3ª FORMA NORMAL ELA DEVE ESTAR NA 2º FORMA NORMAL .Um jeito de verificar esta norma é refazer a leitura dos campos fazendo a pergunta: Este campo depende de outro que não seja a chave? Se Sim, temos uma dependência transitiva.LEMBRAR DO NOME DEPENDÊNCIA TRANSITIVA .Na tabela Venda, temos Valorfinal. Este campo é o resultado do valor unitário do produto multiplicado pela quantidade, isto é, para um valor final existir ele DEPENDE de valor unitário e quantidade. O Valorunitário está na tabela Produto, relacionada à Venda e Quantidade está na própria Venda. Valorfinal depende destes 2 campos e eles não são campos-chave, o que nos leva a pensar: Se temos valor unitário e quantidade, porque teremos valor final? O valor final nada mais é que o resultado de um cálculo de dados que já está estão no banco, o que o torna um campo redundante.Venda (Codvenda, Codcliente, Codproduto, Quantidade, Valorfinal).LOGO TEREMOS NORMALIZADA 3FN Venda (Codvenda, Codcliente, Codproduto, Quantidade).