Banco de Dados - Normalização Helder Antero Amaral Nunes [email protected] Normalização Procedimento de organização e melhoramento das tabelas; Não é uma regra, mas é uma proposta de eliminar possíveis anomalias em um banco de dados; Está intimamente ligada aos relacionamentos entre as tabelas. Normalização – Vantagens e Desvantagens Vantagens: Evita redundância de dados. Desvantagens: Normalizar excessivamente pode diminuir o desempenho do banco de dados Normalização – 1ª Forma Normal (1FN) A primeira forma normal diz que: Uma tabela não deve conter campos multivalorados (colunas que possuem mais de uma valor para uma única linha) O que fazer para solucionar? Remover esse campo multivalorado e adicioná-lo junto com a chave primária da tabela em uma nova tabela. Normalização – 1ª Forma Normal (1FN) CPF Nome Telefone 010.010.010-11 Maria das Dores (81) 9999-9999 010.010.010-11 Maria das Dores (81) 8888-8888 111.111.111-11 João da Silva (81) 7777-7777 1FN CPF Nome 010.010.010-11 Maria das Dores 111.111.111-11 João da Silva CPF Telefone 010.010.010-11 (81) 9999-9999 010.010.010-11 (81) 8888-8888 111.111.111-11 (81) 7777-7777 Normalização – 2ª Forma Normal (2FN) A segunda forma normal diz que: Todos os atributos não chaves devem depender de TODA a chave primária, ou seja, Atributos não chaves não podem depender de apenas PARTE da chave; E estar na 1º Forma Normal (1FN) O que fazer para solucionar? Esse atributo e a “parte” da chave que ele depende devem ser colocados em uma nova tabela. Normalização – 2ª Forma Normal (2FN) Item de pedido N. Pedido Cod. Produto Quant. Produto Desc. Produto Valor Prod. Valor Total 1 1 1 Sabão 2.00 2.00 2 2 3 Coca-cola 4.00 12.00 2FN Item de pedido Produto Cod. Produto Desc. Produto Valor Prod. 1 1 Sabão 2.00 3 2 Coca-cola 4.00 N. Pedido Cod Prod. Valor Total Quant. Prod. 1 1 2 2 1 12 Normalização – 3º Forma Normal (3FN) A terceira forma normal diz que: Cada atributo não-chave não poderá ser dependente de outro atributo nãochave; E estar na 2º Forma Normal (2FN). O que fazer para solucionar? Retirar esse atributo junto com o dependente e colocá-los em uma nova tabela. Normalização – 3º Forma Normal (3FN) Pedido N. Pedido Prazo de Entrega Cod. Cliente Nome do Cliente Endereço do Cliente 1 11/05/2014 1 João Rua B, 11 2 11/05/2014 3 Maria Rua A, 50 3FN Pedido Cliente N. Pedido Prazo de Entrega Cod. Cliente Cod. Cliente Nome do Cliente Endereço do Cliente 1 1 1 1 João Rua B, 11 2 1 3 3 Maria Rua A,50