A aula apresenta os conceitos de normalização de dados e formas normais. Apresenta as primeiras três formas normais, explicando como identificar e corrigir problemas de normalização nas tabelas de um banco de dados para evitar redundâncias. Também discute formas normais adicionais e as vantagens e desvantagens da normalização.
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Banco de Dados I - Aula 09 - Normalização de Dados
1. # Banco de Dados #
Aula 05 - MODELAGEM DE DADOS
(Normalização de Dados e Formas Normais)
Prof. Leinylson Fontinele Pereira
2. Na aula anterior...
MODELAGEM DE DADOS
# Modelo Lógico
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
3. Introdução
11:14 3 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
4. O que vamos aprender?
MODELAGEM DE DADOS
# Normalização de Dados
# Formas Normais
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
5. Vamos começar?
11:14 5 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
6. Normalização
11:14
Conceito introduzido em 1970 por E. F. Codd (1FN)
Processo matemático formal fundamentado na teoria
dos conjuntos
Aplica uma série de regras sobre as tabelas de um
banco de dados para verificar se estas foram
corretamente projetadas
Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
7. Normalização
11:14
Definição
# Processo formal e passo a passo que examina os atributos de uma entidade, com o objetivo
de evitar anomalias observadas na inclusão, exclusão e alteração de registros.
Regra de ouro
# No Modelo Relacional de Dados “não devemos misturar assuntos em uma mesma Tabela”
# Exemplo: na Tabela Clientes devemos colocar somente campos relacionados com o assunto
Clientes. Não devemos misturar campos relacionados com outros assuntos, tais como Pedidos,
Produtos, etc.
# Essa “Mistura de Assuntos” em uma mesma tabela acaba por gerar repetição desnecessária
dos dados bem como inconsistência dos dados.
Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
8. Processo de Normalização
11:14
O processo de normalização passa pelas seguintes etapas:
O documento ou arquivo a ser normalizado é representado na forma de uma tabela
não normalizada;
A tabela vai sendo decomposta em tabelas normalizadas ("bem projetadas"). A
normalização dá-se em três passos principais, passando por três formas normais;
Uma forma normal é um conjunto de regras que uma tabela deve obedecer. Estas
regras destinam-se a eliminar as redundâncias de dados.
Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
9. Primeira Forma Normal
11:14 9 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
10. 1FN – Primeira Forma Normal
11:14
Uma relação estará na primeira forma normal (1FN), se
não houver grupo de dados repetidos, isto é, se todos os
valores forem únicos.
Em outras palavras, a primeira forma normal não admite
repetições ou campos que tenha mais que um valor
Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
11. Passagem para a Primeira Forma Normal (1FN)
11:14
Procedimentos:
a) Identificar a chave primária da entidade
b) Identificar o grupo repetitivo e removê-lo da entidade
c) Criar uma nova entidade com a chave primária da entidade
anterior e o grupo repetitivo
Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
12. Passagem para a Primeira Forma Normal (1FN)
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
Cria-se uma nova relação Turmas
13. 1FN – Primeira Forma Normal
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
14. 1FN – Primeira Forma Normal
11:14
Mesmo com o ajuste acima, a tabela ainda não está na primeira forma
normal, pois há clientes com mais de um telefone e os valores estão em uma
mesma célula. Para normalizar será necessário criar uma nova tabela para
armazenar os números dos telefones e o campo-chave da tabela cliente.
Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
15. 1FN – Primeira Forma Normal
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
16. Segunda Forma Normal
11:14 16 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
17. 2FN – Segunda Forma Normal
11:14
Uma relação está na 2FN se, e somente se, estiver na
1FN e cada atributo não-chave for dependente da chave
primária inteira, isto é, cada atributo não-chave não
poderá ser dependente de apenas parte da chave.
No caso de tabelas com chave primária composta, se um
atributo depende apenas de uma parte da chave primária,
então esse atributo deve ser colocado em outra tabela.
Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
18. 2FN – Segunda Forma Normal
11:14
Criar uma nova relação Turma/Professor
Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
19. 2FN – Segunda Forma Normal
11:14
Procedimentos:
a) Identificar os atributos que não são funcionalmente
dependentes de toda a chave primária
b) Remover da entidade todos esses atributos identificados
e criar uma nova entidade com eles
Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
20. 2FN – Segunda Forma Normal
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
21. 2FN – Segunda Forma Normal
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
22. Terceira Forma Normal
11:14 22 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
23. 3FN – Terceira Forma Normal
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
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 terceira forma normal temos de eliminar aqueles campos
que podem ser obtidos pela equação de outros campos da
mesma tabela.
24. 3FN – Terceira Forma Normal
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
25. 3FN – Terceira Forma Normal
11:14
Procedimentos:
a) Identificar todos os atributos que são funcionalmente
dependentes de outros atributos não chave
b) Removê-los
Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
26. 3FN – Terceira Forma Normal
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
27. 3FN – Terceira Forma Normal
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
28. É só isso?!
11:14 28 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
29. Formas Normais Complementares
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
Forma normal de Boyce/Codd (FNBC)
Quarta forma normal (4FN)
Quinta forma normal (5FN)
30. Vantagens
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
Estruturas de dados mais estáveis
Elimina a redundância
Obtêm-se um modelo de dados mais natural e mais simples
Evitam-se os efeitos laterais da alteração
Evitam-se os efeitos laterais da inserção
Evitam-se os efeitos laterais da remoção
Facilita a exploração e manutenção de ficheiros
31. Desvantagens
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
Favorece a proliferação no nº de tabelas
Favorece a fragmentação exagerada
Perigoso de seguir cegamente
33. Nesta aula aprendemos...
MODELAGEM DE DADOS
# Normalização de Dados
# Formas Normais
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)
34. Na próxima aula veremos...
MODELAGEM DE DADOS
# Modelo Físico
LINGUAGEM DE CONSULTA SQL
# Comandos DDL
11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)