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.