Normalização de
Dados
Prof. Christiano Lima Santos
Sumário
O
que é?
 Por
quê?
 Benefícios
 Formas
Normais
 Exercícios
O que é?

Conjunto de passos em um projeto de banco de
dados visando o armazenamento consistente e
acesso eficiente aos dados;

Tais passos reduzem a redundância dos dados e as
chances dos dados se tornarem inconsistentes.
Por quê?
 Um
banco de dados não-normalizado pode
apresentar:
 Redundância;
 Dependência
 Maior
incorreta entre os dados;
complexidade nas consultas SQL.
Benefícios

Elimina a necessidade de redundância dos dados;

Reduz os riscos de inconsistência;

Evita anomalias de atualização;

Facilita a manipulação dos dados por meio de uma
linguagem de consulta (SQL);
Conceitos

Atributo principal: é um atributo da relação R que é
membro de alguma chave candidata de R.
Formas Normais

Uma tabela num banco de dados relacional está
numa certa forma normal se satisfaz as condições
impostas pela mesma;

Edgar F. Codd definiu originalmente três formas
normais, mas existem hoje outras formas normais
geralmente aceitas.
Formas Normais

Formas normais mais comuns:
 Primeira
Forma Normal (ou 1FN);
 Segunda
Forma Normal (ou 2FN);
 Terceira
Forma Normal (ou 3FN);
 Forma

Normal de Boyce-Codd (ou FNBC);
 Quarta
Forma Normal (ou 4FN);
 Quinta
Forma Normal (ou 5FN);
 Forma
Normal Chave-Domínio (FNCD).
Para efeitos práticos, considera-se que a base de
dados está normalizada se aderir à terceira forma
normal.
Primeira Forma Normal (1FN)

Uma relação está na 1FN quando (três possíveis
definições):
 Todos
os atributos baseiam-se em um domínio simples,
não contendo grupos ou valores repetidos;
 Não
possui atributos multivalorados ou compostos;
 Todos

os seus atributos são atômicos.
Ela reprova “relações dentro de relações”.
Primeira Forma Normal (1FN)
Tabela Não-1FN
Primeira Forma Normal (1FN)
Tabela Não-1FN

Tabela 1FN
Primeira Forma Normal (1FN)
Tabela Não-1FN
VendaID
Produto
ID___Nome___PrecoUnitario___Qtd
Total
1
1, Sabão em pó, 2.50,
2, Camisa,
1.00,
3
5
12.50
2
1, Sabão em pó, 2.50,
4, Balde,
6.00,
1
2
14.50
3
5, Feijão (1kg),
10.00, 1
10.00
Primeira Forma Normal (1FN)
Tabela 1FN
VendaID
ProdutoID
ProdutoNome
PrecoUnitario
Qtd
Subtotal
1
1
Sabão em pó
2.50
3
7.50
1
2
Camisa
1.00
5
5.00
2
1
Sabão em pó
2.50
1
2.50
2
4
Balde
6.00
2
12.00
3
5
Feijão (1kg)
10.00
1
10.00
Primeira Forma Normal (1FN)
 Problemas
Redundância;
Anomalias
de atualização.
Segunda Forma Normal (2FN)

Uma relação está na 2FN se:
 Estiver
na 1FN;
 Cada
atributo não principal for dependente da chave
primária inteira.

Se a tabela possui chave primária composta, se um
atributo depende apenas de uma parte da chave
primária, ele deve ser colocado em outra tabela.
Segunda Forma Normal (2FN)
Tabela Não-2FN
VendaID
ProdutoID
ProdutoNome
PrecoUnitario
Qtd
Subtotal
1
1
Sabão em pó
2.50
3
7.50
1
2
Camisa
1.00
5
5.00
2
1
Sabão em pó
2.50
1
2.50
2
4
Balde
6.00
2
12.00
3
5
Feijão (1kg)
10.00
1
10.00
Segunda Forma Normal (2FN)
Tabela 2FN
VendaID
ProdutoID
1
1
1
Qtd
ProdutoID
ProdutoNome
PrecoUnitario
Subtotal
3
2.50
7.50
1
Sabão em pó
2
5
1.00
5.00
2
Camisa
2
1
1
2.50
2.50
1
Sabão em pó
2
4
2
6.00
12.00
4
Balde
3
5
1
10.00
10.00
5
Feijão (1kg)
Terceira Forma Normal (3FN)

Uma relação R está na 3FN se:
 Estiver
 Cada
na 2FN;
atributo não principal de R não possui
dependência transitiva da chave primária.
Terceira Forma Normal (3FN)

Tabela Não-3FN
VendaID
ProdutoID
1
1
1
Qtd
PrecoUnitario
Subtotal
3
2.50
7.50
2
5
1.00
5.00
2
1
1
2.50
2.50
2
4
2
6.00
12.00
3
5
1
10.00
10.00
Terceira Forma Normal (3FN)

Tabela 3FN
VendaID
ProdutoID
Qtd
PrecoUnitario
1
1
3
2.50
1
2
5
1.00
2
1
1
2.50
2
4
2
6.00
3
5
1
10.00
Resumo das Três Primeiras FN
Forma Normal Teste
Solução (normalização)
Primeira (1FN)
Relação não deve ter atributos
multivalorados ou relações aninhadas.
Formar novas relações para cada atributo
multivalorado ou relação aninhada.
Segunda (2FN)
Para relações em que a chave primária
contém múltiplos atributos, nenhum atributo
não chave deverá ser funcionalmente
dependente de uma parte da chave primária.
Decompor e montar uma nova relação para
cada chave parcial com seu(s) atributo(s)
dependente(s). Certificar-se de manter uma
relação com a chave primária original e
quaisquer atributos que sejam total e
funcionalmente dependentes dela.
Terceira (3FN)
A relação não deve ter um atributo não
chave determinado funcionalmente por outro
atributo não chave (ou por um conjunto de
atributos não chave). Ou seja, não deve
haver dependência transitiva de um atributo
não chave sobre a chave primária.
Decompor e montar uma relação que inclua
o(s) atributo(s) não chave que determina(m)
funcionalmente outro(s) atributo(s) não
chave.
Forma Normal de Boyce-Codd (FNBC)
 Uma
relação R está na FNBC se:
 Estiver
 Toda
na 3FN;
vez que uma dependência funcional não
trivial X  A se mantiver em R, então X é uma
superchave de R.
Forma Normal de Boyce-Codd (FNBC)

Considere uma relação LOTES com as seguintes dependências:

DF1: PropriedadeID  {Cidade, Lote, Area}

DF2: {Cidade, Lote}  {PropriedadeID, Area}

DF3: Area  Cidade
PropriedadeID

Cidade
Lote
Tal relação satisfaz 3FN, mas não é FNBC.
Area
Forma Normal de Boyce-Codd (FNBC)

Relação após normalização (segundo FNBC):
PropriedadeID

Area
Lote
Area
Cidade
O que aconteceu com as dependências DF1, DF2 e DF3?
Perguntas de Revisão

A que se refere o termo relação não-normalizada?

Defina cada forma normal aqui estudada;

Como a Forma Normal de Boyce-Codd difere da
3FN? Por que ela é considerada uma forma mais
forte de 3FN?
Exercícios

Dada a relação SERVIDOR:
Nome
CPF
Dependentes
Telefones
Endereço
Rua__Numero__Bairro
Anderson
001.001.001-01
{Adriana, Antonio}
{2222-2222}
Gentil Tavares, 27, Inacio
Bruno
002.002.002-02
{Bianca}
{3333-3333}
Getulio Vargas, 12, Siqueira

Quais formas normais ela satisfaz? Por quê? Que alterações são
necessárias para que ela satisfaça as demais?
Exercícios

Dada a relação MANUTENCAO:
ManutencaoID
Dia
1
01/01/2014
2
02/02/2014
Bairro
Vila Velha
Vila Nova
Rua
Pereira Lobo
José Machado
3
4
Vila Mais Nova Ainda
Vila Qualquer
Guimarães Rosa
Zaqueu Brandão

03/03/2014
04/04/2014
Em que forma normal ela se encontra? Como alterá-la para
satisfazer as demais?
Exercícios

Dada a relação CONTROLE_BIBLIOTECA:
EmprestimoID

Livro
Autores
Aluno
Matricula
DataPedido
DataDevolucao
Em que forma normal ela se encontra? Como alterá-la para satisfazer as
demais?
Bibliografia Recomendada
ELMASRI, Ramez; NAVATHE, Shamkant. Sistemas de
Banco de Dados. 6ª ed. São Paulo : Pearson
Addison-Wesley, 2011.
Download

Normalização de Dados