Sei sulla pagina 1di 11

12/05/2011

DS52F
Prof. Diego Stiehl

Ao modelar um banco de dados


 Deve-se tomar cuidado com o seguinte:
 Não podemos misturar assuntos em uma mesma
tabela
 Redundância
 Dificuldade de acesso

1
12/05/2011

Normalização
 Tem por objetivo
 Evitar problemas que podem provocar falhas no projeto
do banco de dados
 Eliminar a mistura de assuntos
 Eliminar redundâncias desnecessárias em dados
 Visa gerenciar
 Problemas de performance
 Problemas de manutenção
 Problemas de integridade

Normalização
 O processo de normalização
 Aplica uma série de regras sobre as tabelas de um banco
de dados
 Verificar se estão corretamente projetadas
 É feita através das formas normais
 Regras de normalização
 Existem cinco formas normais
 Mas somente três são efetivamente utilizadas

2
12/05/2011

Normalização
 “Consiste em definir o formato lógico adequado para
as estruturas de dados das tabelas de um banco de
dados relacional, identificando-as no projeto lógico
do sistema, com o objetivo de minimizar o espaço
utilizado pelos dados e garantir a integridade e
confiabilidade das informações.”

MACHADO (2004)

Após a Normalização
 Algumas tabelas acabam sendo divididas em duas ou
mais tabelas
 Há a simplificação dos atributos

 Antes da normalização
 Em um banco de dados totalmente não normalizado,
encontraremos apenas uma tabela, a qual conterá todas
as informações de forma agrupada.

3
12/05/2011

Entidade não Normalizada


 Nota Fiscal {Número da NF, Código do Cliente, Nome
do Cliente, Cidade do Cliente, Telefone do Cliente,
[Código do Produto, Descrição do Produto,
Quantidade, Valor unitário, Valor total do Produto],
Data de Emissão, Total Geral da Nota}

Entidade não Normalizada


Cód. Nome Cid. Fone Cód. Desc. Val. Val. Total Data Total
NF Cliente Cliente Cliente Cliente Produto Produto Qtde Unitário Produto Emissão Geral Nota
100 1 José Toledo 1234-4321 1000 Parafuso 10 0,03 0,30 01/03/2011 2,80
100 1 José Toledo 1234-4321 2000 Prego 50 0,05 2,50 01/03/2011 2,80
102 2 Pedro Cascavel 0987-7890 1000 Parafuso 5 0,03 0,15 02/03/2011 0,15
103 3Marta Matelândia 1111-2222 2000 Prego 100 0,05 5,00 03/03/2011 5,00
104 4Osvaldo Missal 2222-1111 3000 Martelo 1 14,99 14,99 04/03/2011 14,99
105 5 Durval MCR 5555-6666 1000 Parafuso 22 0,03 0,66 05/03/2011 0,66
106 1 José Toledo 1234-4321 3000 Martelo 2 14,99 29,98 06/03/2011 29,98
107 6 Osório Medianeira 9999-0000 1000 Parafuso 350 0,03 10,50 07/03/2011 10,50
108 6 Osório Medianeira 9999-0000 1000 Parafuso 500 0,03 15,00 08/03/2011 15,00
109 6 Osório Medianeira 9999-0000 3000 Martelo 5 14,99 74,95 09/03/2011 74,95
110 2 Pedro Cascavel 0987-7890 2000 Prego 100 0,05 5,00 10/03/2011 5,00

...

4
12/05/2011

Problemas na Tabela
 Para uma busca do tipo:
 Quais os clientes que compraram pregos no último mês
 Precisa-se fazer uma pesquisa em toda a tabela,
comparando linha a linha a coluna da descrição do
produto
 Todos os dados de cada linha serão carregados na
memória

Problemas na Tabela
 Se alguém desejar alterar a cidade do cliente:
 Precisa-se procurar linha a linha novamente, buscando
pelo código do cliente desejado
 O mesmo cliente existirá em diversas linhas
 Há a necessidade de alterações na coluna da cidade em
diversas linhas

5
12/05/2011

Problemas na Tabela
 Se houver a necessidade de excluir uma nota fiscal de
um cliente, sendo esta a única que ele possuía
 Haverá perda total dos dados cadastrais do cliente em
questão, visto que tudo estará sendo tratado na mesma
linha da tabela (a linha que será deletada)

 Todos estes fatos são considerados anomalias de


inclusão, alteração e deleção de dados

Formas Normais (FN)


 Métodos utilizados para a transformação dos dados
 Visam deixar um modelo normalizado
 São conjuntos de restrições as quais os dados devem
satisfazer
 Faz-se a análise dos dados e aplicam-se as formas
normais necessárias
 Existem 5, mas somente 3 são utilizadas
 Primeira Forma Normal (1FN)
 Segunda Forma Normal (2FN)
 Terceira Forma Normal (3FN)

6
12/05/2011

Formas Normais (FN)


 A passagem de uma forma normal para outra é feita
com base no resultado da etapa anterior
 Dados não normalizados -> 1FN -> 2FN -> 3FN
 Para se trabalhar com as formas normais
 Há a necessidade da definição de chaves primárias para
as estruturas desejadas
 A partir das chaves primárias consegue-se identificar os
demais campos das estruturas

Primeira Forma Normal (1FN)


 É o mais baixo nível de normalização
 Após sua aplicação as tabelas ainda podem conter
algumas anomalias

 Uma tabela está na primeira forma normal se


 Suas colunas possuírem um único valor
 Não existirem grupos repetitivos de colunas
 Não existirem atributos compostos

7
12/05/2011

Tabelas que necessitam a 1FN


 Empréstimo {Nome do Livro, ISBN, Nome do Aluno, Data}
Livro ISBN Aluno Data
Java para WEB 123456789-0 José 01/03/2011
Java para WEB 123456789-0 Maria 10/03/2011
Banco de Dados 987654321-1 José 01/02/2011
Java para WEB 123456789-0 Pedro 10/03/2011
Banco de Dados 987654321-1 Pedro 05/02/2011

 Empréstimo {Nome do Livro, ISBN, Nome do Aluno1,


Data1, Nome do Aluno2, Data2, Nome do Aluno3, Data3 ...
Nome do Alunon, Datan}
Livro ISBN Aluno1 Data1 Aluno2 Data2 Aluno3 Data3
Java para WEB 123456789-0 José 01/03/2011Maria 10/03/2011Pedro 10/03/2011
Banco de Dados 987654321-1 José 01/02/2011Pedro 05/02/2011

Aplicação
 Aplicar a primeira forma normal
 Precisa-se retirar os elementos repetitivos da estrutura
 Estes elementos devem compor outra estrutura do tipo
“vetor”
 Há a necessidade da definição de chaves para as tabelas
 Elas que permitirão o relacionamento entre as estruturas
obtidas no processo

8
12/05/2011

Aplicação
 Livro {Nome do Livro, ISBN}
 Empréstimo {ISBN, Nome do Aluno, Data}

Livro ISBN
Java para WEB 123456789-0
Banco de Dados 987654321-1

ISBN Aluno Data


123456789-0 José 01/03/2011
123456789-0 Maria 10/03/2011
987654321-1 José 01/02/2011
123456789-0 Pedro 10/03/2011
987654321-1 Pedro 05/02/2011

Exemplo das Notas Fiscais


 Como podemos proceder para aplicar a primeira forma
normal sobre este modelo?
 Nota Fiscal {Número da NF, Código do Cliente, Nome do
Cliente, Cidade do Cliente, Telefone do Cliente, [Código
do Produto, Descrição do Produto, Quantidade, Valor
unitário, Valor total do Produto], Data de Emissão, Total
Geral da Nota}

9
12/05/2011

Resolução
 Retirando as estruturas repetitivas
 Nota Fiscal {Número da NF, Código do Cliente, Nome do Cliente,
Cidade do Cliente, Telefone do Cliente, Data de Emissão, Total
Geral da Nota}
 Item da Nota Fiscal {Código do Produto, Descrição do Produto,
Quantidade, Valor unitário, Valor total do Produto}
 Definindo chaves
 Nota Fiscal {Número da NF, Código do Cliente, Nome do Cliente,
Cidade do Cliente, Telefone do Cliente, Data de Emissão, Total
Geral da Nota}
 Item da Nota Fiscal {Número da NF, Código do Produto,
Descrição do Produto, Quantidade, Valor unitário, Valor total do
Produto}

NF Cód. Cliente Nome Cliente Cid. Cliente Fone Cliente Data Emissão Total Geral Nota
100 1José Toledo 1234-4321 01/03/2011 2,80
102 2Pedro Cascavel 0987-7890 02/03/2011 0,15
103 3Marta Matelândia 1111-2222 03/03/2011 5,00
104 4 Osvaldo Missal 2222-1111 04/03/2011 14,99
105 5Durval MCR 5555-6666 05/03/2011 0,66
106 1José Toledo 1234-4321 06/03/2011 29,98
107 6Osório Medianeira 9999-0000 07/03/2011 10,50
108 6Osório Medianeira 9999-0000 08/03/2011 15,00
109 6Osório Medianeira 9999-0000 09/03/2011 74,95
110 2Pedro Cascavel 0987-7890 10/03/2011 5,00

NF Cód. Produto Desc. Produto Quantidade Val. Unitário Val. Total Produto
100 1000Parafuso 10 0,03 0,30
100 2000Prego 50 0,05 2,50
102 1000Parafuso 5 0,03 0,15
103 2000Prego 100 0,05 5,00
104 3000Martelo 1 14,99 14,99
105 1000Parafuso 22 0,03 0,66
106 3000Martelo 2 14,99 29,98
107 1000Parafuso 350 0,03 10,50
108 1000Parafuso 500 0,03 15,00
109 3000Martelo 5 14,99 74,95
110 2000Prego 100 0,05 5,00

10
12/05/2011

Resultado
 Houve o desdobramento em duas estruturas
 Tabela de Notas Fiscais
 Dados que compõem a estrutura original, exceto os elementos
repetitivos
 Foi definida sua chave (Número da NF)
 Tabela de Item de Nota Fiscal
 Dados que compõem os elementos repetitivos da estrutura
original, tendo como chave o campo-chave da estrutura
primeira tabela em conjunto com uma chave própria que
represente a estrutura de repetição (Código do Produto)

Exercício em Sala
 Ficha de cadastro de palestras
 Moodle

 Extrair as informações de forma não normalizada


 Aplicar a Primeira Forma Normal (1FN)

11

Potrebbero piacerti anche