Buscar

Aula 08. Normalização

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Normalização
 Normalização - conceitos
 1a. Forma Normal
 Dependência
 2a. Forma Normal
 3a. Forma Normal
 Outras formas normais
 Exemplos
 Exercícios
Normalização
 Conceito introduzido por Codd (1970)
 Técnica de projeto de BD para retirar 
anomalias do modelo relacional;
 Foram criadas inicialmente 3 formas 
normais
 Motivação principal: características de um 
mau projeto
 Repetição de Informação
 Inabilidade de representar certas informações
 Perda de informação
Características de um mau 
projeto
 Repetição de Informação
 Exemplo: BD Bancário:
 Emprestar(ag_nome, 
ag_ativos,empréstimo_número, cliente_nome, 
quantia)
 Inabilidade de representar informações
 Uma agência só pode existir se existir um 
empréstimo
 Perda de informação
 Para eliminar um cliente é necessário eliminar 
todas as informações de empréstimos
Funcionário(cod, nome)
Dependentes(cod_func, nome, sexo)
Normalização para validar
o mapeamento
Normalização
 Duas formas de utilização:
Top-Down Botton-Up
Nota Fiscal
Cliente:.....
Produtos:
------------- ------
------------- ------
Total: -------
Nota(num, cliente, produtos......)
nota(......)
cliente(....)
produto(....)
vendedor(...)
Uso da Normalização
 Engenharia Reversa
 Sistemas legados
 raramente documentados
 Necessidade de manutenção
 Migração para outro tipo de BD
 Integração com outro BD
Normalização
 Problemas da falta de normalização:
 Anomalias de inclusão, exclusão e alteração
 Pedido (Num_pedido, prazo, cliente, endereco, cidade, uf, 
insc_est, (cod_prod, unid, qtde, desc, val_unit, total_prod)*, 
total_pedido, cod_vendedor, nome_vendedor)
 Anomalia de inclusão: ao ser incluído um novo cliente, o 
mesmo tem que estar relacionado a uma venda.
 Anomalia de exclusão: ao ser excluído um cliente, os 
dados referentes às suas compras serão perdidos.
 Anomalia de alteração: caso algum fabricante de produto 
altere o preço de um produto, será preciso percorrer toda a 
relação para se realizar múltiplas alterações.
1ª Forma Normal (1FN)
 Diz-se que uma tabela esta na primeira forma 
normal, quando ela não contem tabelas aninhadas. 
 Regras para transformação: 
1. E criada uma tabela na 1FN referente a tabela não 
normalizada e que contem apenas as colunas com valores 
atômicos ou seja, não admitirem atributos 
multivalorados. A chave primaria da tabela na 1FN é
idêntica a chave da tabela não normalizada 
2. Para cada tabela aninhada, e criada uma tabela na 1FN 
composta com as seguintes colunas: 
 A chave primaria de cada uma das tabelas na qual a tabela em 
questão esta aninhada
 As colunas da própria tabela aninhada 
1ª Forma Normal (1FN)
Relações sem atributos multivalorados
A B C D E F 
 
 
A B E F
A C D
 Pedido (Num_pedido, prazo, cliente, endereco, cidade, uf, insc_est, (cod_prod, 
unid, qtde, desc, val_unit, total_prod)*, total_pedido, cod_vendedor, 
nome_vendedor)
 Pedido(Num_pedido, prazo, cliente, endereco, cidade, uf, insc_est, 
total_pedido, cod_vendedor, nome_vendedor)
 Item_Pedido(num_pedido, cod_prod, unid, qtde, desc, 
val_unit,total_prod) 
Dependência
 Dependência Funcional Total
 Diz-se que uma coluna C2 depende funcionalmente de uma coluna 
C1, quando em todas as linhas da tabela, para cada valor de C1 que 
aparece na tabela, aparece o mesmo valor de C2.
 Exemplo: cod_vendedor <---- nome_vendedor
qtde depende de forma total de num_pedido + cod_prod
 Dependência Funcional Parcial ( só depende de uma parte da chave 
primária ) 
 desc depende de cod_prod e não de num_pedido + cod_prod
 obs: dep. total ou parcial só ocorre com chave concatenada
 Dependência Funcional Transitiva (além de depender da chave 
primária da tabela, depende de outras colunas da tabela) 
 nome_vendedor depende de cod_vendedor que não é chave primária mas 
depende desta.
2ª Forma Normal (2FN)
 “Uma tabela encontra-se na segunda forma normal, 
quando além de estar na 1FN , não contem 
dependências parciais, ou seja, todos os atributos não-
chave forem totalmente dependentes da chave 
primária. “
 Regras para transformação:
1. Mantém a tabela original com os atributos que tem dependência 
funcional total. 
2. Cria-se uma nova tabela com os atributos com dependência 
funcional parcial, sendo que a chave primaria será a parte da chave 
primaria original do qual eles dependem. 
2ª Forma Normal (2FN)
Relações em 1FN e sem dependência parcial
 Item_Pedido(num_pedido, cod_prod, unid, qtde, 
desc, val_unit, total_prod)
 Item_Pedido(num_pedido, cod_prod, qtde, 
total_prod)
 Produto(cod_prod, unid, desc, val_unit)
A B C D
|------------------------------------------------| A B C
A D
3ª Forma Normal (3FN)
 “Uma tabela encontra-se na terceira forma normal, 
quando além de estar na 2FN , não contem 
dependências transitivas “
 Regras para transformação:
1. Mantém a tabela original com os atributos que tem 
dependência funcional total mas as referencias da tabelas 
criadas para eliminar as dependências transitivas. 
2. Cria-se nova tabela com os atributos com dependência 
funcional transitiva, sendo que a chave primaria pode ser um 
dos atributos já existentes ou cria-se um novo atributo. 
3ª Forma Normal (3FN)
Relações em 2FN e sem dependência transitiva
 Pedido(Num_pedido, prazo, cliente, endereco, cidade, uf, insc_est, 
total_pedido, cod_vendedor, nome_vendedor)
 Pedido(Num_pedido, prazo, cod_cliente, total_pedido, cod_vendedor)
 Cliente(cod_cli, nome, endereco, cidade, uf, insc_est)
 Vendedor(cod_vendedor, nome_vendedor) 
A B C
A B
B C
Regra Geral da Normalização
“Todo item de dados em uma relação é
dependente da chave, da chave toda e de 
nada mais do que a chave”
[James Martin, 1991]
“Um bom modelo de dados gera relações em 3FN”

Continue navegando

Outros materiais