Conceito


  • Normalização é um processo no qual se aplicam regras a todas as tabelas de um banco de dados
  • Objetivo: evitar falhas no projeto, exemplos:
      • Redundância de dados
      • Mistura de diferentes assuntos numa mesma tabela
      • Ineficiência no uso das tabelas


Formas Normais

  • Sequência de passos que podem ser aplicados a uma proposta inicial de um DER de forma que posteriormente teremos um padrão normalizado


  • 1a. Forma Normal - 1FN
    • Uma tabela estará na 1FN se não houver grupo de dados repetidos, isto é, se todos os domínios onde os valores estão armazenados são únicos. Em outras palavras podemos definir que a primeira forma normal não admite repetições ou campos que tenha mais que um valor.   
    • Para se aplicar a 1FN é necessário:  
      • 1 - Identificar a chave(endereço) primaria da entidade
      • 2 - Identificar o grupo repetitivo e removê-lo da entidade
      • 3 - Criar uma nova entidade com a chave da entidade anterior e o grupo repetitivo. 


  • 2a. Forma Normal - 2FN'
    • Uma tabela estará na 2FN se ela estiver na 1FN e todos os atributos não chave forem totalmente dependentes da chave primária.  
    • Para se aplicar a 2FN é necessário:  
      • 1 - Identificar os atributos não dependentes de toda a chave primária
      • 2 - Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles. 


  • 3a. Forma Normal - 3FN'
    • 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 3FN nenhum campo é resultado da relação de  outros campos.
    • Para se aplicar a 3FN é necessário:
      • 1 - Identificar todos os atributos que são funcionalmente dependentes de outros atributos não chave
      • 2 - Removê-los.


Exemplos


  • 1FN:
  • Antes:
chave nome endereço
U001 matheus av. floriano peixoto bairro umuarama
U002 vitor av. rondon pacheco bairro saraiva
U003 rafael av. brasil bairro Brasil


  • Depois:
chave nome rua/av bairro
U001 matheus av. floriano peixoto umuarama
U002 vitor av. Rondon Pacheco Saraiva
U003 rafael av. Brasil Brasil


  • 2FN.


  • Antes:
N_Pedido Codigo_produto produto Qtd unidade subtotal
1 P01 mesa 5 200 1000
2 P02 cadeira 5 100 500
3 P03 computador 5 500 2500

  • Depois:
N_Pedido Codigo_produto Qtd unidade subtotal
1 P01 5 200 1000
2 P02 5 100 500
3 P03 5 500 2500
codigo_produto produto
P01 mesa
P02 cadeira
P03 computador
  • 3FN.
  • Depois:
n_pedido codigo_produto qtd unidade
1 P01 5 100
2 P02 5 200
3 P03 5 300


Exercícios


  • 1. Normalizar as tabelas definidas na última aula
  • 2. Abrir software DIA online ou outro que crie diagramas
  • 3. Criar DER usado o software
  • 4. Gerar PDF
  • 5; Enviar para email luiz.theodoro@ufu.br
    • Prazo: 17/11 - 23 hs.