Buscar

Unidade 3 - cap 1 - Normalização de dados - 1FN

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 6 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 6 páginas

Prévia do material em texto

1
Tópicos:
a) O que é normalização
b) As regras da normalização
c) Primeira forma normal (1ª NF)
d) Exercícios
e) Dependência Funcional
f) Segunda forma normal (2ª NF) 
g) Terceira forma normal (3ª NF) 
h) Quarta e quinta formas normais
i) Exercícios
Normalização de Dados 
A normalização pode prejudicar o desempenho, 
porém ela é vantajosa para a evolução dos modelos. 
Capítulo 1
2UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Introdução
NORMALIZAÇÃO DE DADOS
Os conceitos de normalização foram introduzidos por E. F. Codd em 1970 e 
1972 e depois aperfeiçoados por diversos autores.
Neste curso as formas normais são tratadas como uma ferramenta de 
verificação de modelos conceituais e, também, como um recurso para o 
aperfeiçoamento do projeto de modelos relacionais de banco de dados.
O problema: “Como organizar em um esquema relacional de BD (relações 
e atributos) um conjunto de dados com a mínima redundância de dados ?”
A normalização de dados é um processo que visa organizar os atributos das 
entidades de um modelo para aumentar a coesão dos atributos de dados e 
para reduzir o acoplamento entre o conjunto de entidades. 
Aumentar a coesão dos atributos 
significa: manter na mesma 
relação os atributos que são 
fortemente associados.
Reduzir o acoplamento entre os 
conjuntos de entidades significa: 
separar em relações diferentes 
atributos fracamente associados.
Relação: PEÇAS
Atributo de
fraca coesão
2
3UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Introdução
NORMALIZAÇÃO DE DADOS
1) Reduzir ou eliminar a redundância de dados.
• Significa que a informação deve ser guardada em
apenas um lugar ���� EVITAR INCONSISTÊNCIAS.
2) Indicar problemas em modelos de dados.
• Significa que pode ser usado como critério para
análise de modelos ���� INDICAR MODELOS RUINS.
Diz-se que uma relação está normalizada se satisfizer um conjunto
específicos de regras ou limitações.
AS REGRAS DAS TRÊS PRIMEIRAS FORMAS NORMAIS
NIVEL REGRA
Primeira forma normal (1FN) Uma relação está na 1ª FN se, e somente se, todos os seus 
atributos são atômicos e monovalorados.
Segunda forma normal (2FN) Uma relação está na 2ª FN se, e apenas se, está na 1ª FN 
e todos os atributos não chave são DFs da chave primária.
Terceira forma normal (3FN)
(REGRA DA DEPENDÊNCIA 
TRANSITIVA)
Uma relação está na 3ª FN se, e apenas se, está na 2ª FN 
e se não existir atributo não chave funcionalmente 
dependente de outro atributo não chave. 
Em 1974, um aperfeiçoamento da 3FN foi chamado de forma normal “Boyce-Codd”.
“Fagin” publicou em 1977 a 4ªFN e em 1979 a 5ªFN.
Objetivos da 
normalização:
4UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
1ª FN
O PEDIDO DE CLIENTES NÃO NORMALIZADO: o
quadro apresenta a imagem da estrutura de uma “nota 
de pedido” de cliente com 10 itens (no máximo).
O esquema de dados da nota de pedido.
pedido = { idPedido, dataPedido, dataEntrega, 
1 (pagamentoValor, pagamentoDescrição) 2, 
impostoFederal, impostoEstadual, totalSemImpostos, 
envioNome, envioEndereço, envioTelefone, 
cobrançaNome, cobrançaEndereço, cobrançaTelefone, 
1 ( itemNome, itemUnidade, itemQuantidade, 
itemPreço) 10 }
Os dois grupos de atributos colocados entre 
parênteses no esquema de dados são os itens 
repetitivos. Cada grupo está formando um 
conjunto de elementos compostos.
AS DUAS PARCELAS DO PAGAMENTO É O PRIMEIRO GRUPO.
OS ITENS DO PEDIDO FORMAM UM RELAÇÃO DENTRO DO PEDIDO.
NORMALIZAÇÃO DE DADOS
3
5UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
1ª FN
Para se conseguir a normalização da 1FN [Cood 70] 
deve-se decompor a relação não normalizada em tantas 
relações quantos forem os tipos de itens não atômicos.
Separando os itens da nota de pedido.
pedido = idPedido, dataPedido, dataEntrega, 
pagamento1Valor, pagamento1Descrição,
pagamento2Valor, pagamento2Descrição,
envioNome, envioEndereço, envioTelefone, 
cobrançaNome, cobrançaEndereço, cobrançaTelefone
-----------------------------------------------------------------------------------------------------------
itemPedido = idPedido, itemNome, itemUnidade, 
itemQuantidade, itemPreço
NORMALIZAÇÃO DE DADOS
UMA RELAÇÃO ESTÁ 
NA 1ª FN QUANDO 
TODOS OS SEUS 
ATRIBUTOS SÃO 
ATÔMICOS E 
MONOVALORADOS.
• Atributo atômico é 
aquele que não é 
formado por partes 
separadas.
• Atributo monovalorado 
é aquele que possui 
somente um valor (não 
uma lista de valores).
- Para as duas parcelas do pagamento foi escolhida a solução 
mais óbvia, imediata e sem unanimidade entre os pesquisadores, 
que é a da repetição das colunas para torna-las monovalorados.
Os atributos de pedido: “impostoFederal”, “impostoEstadual” 
e “subTotalSemImpostos” foram retirados do esquema de dados 
de pedidos porque eles são atributos derivados. Os dois primeiros 
atributos são percentuais do terceiro atributo e, este último, pode 
ser obtido pela soma dos valores dos itens do pedido (cada valor de 
item é calculado por “itemQuant” * “itemPreço”).
Na primeira forma normal
não existem atributos 
(campos) ou grupos de 
atributos repetidos.
ou melhor
6UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
1ª FN
O endereço não é um item atômico, como pode ser 
observado na representação ao lado.
Tornando atômicos os itens do endereço:
pedido = idPedido, dataPedido, dataEntrega, 
pagamento1Valor, pagamento2Descrição,
pagamento2Valor, pagamento2Descrição,
envioNome, envioLocal, envioCEP, envioCidade, envioTelefone, 
cobrançaNome, cobrançaLocal, cobrançaCEP, cobrançaCidade, 
cobrançaTelefone
-----------------------------------------------------------------------------------------------------------
itemPedido = idPedido, itemNome, itemUnidade, 
itemQuantidade, itemPreço
Além disso, a relação itemPedido ainda possui 
redundância de dados, uma anomalia. Por exemplo uma 
alteração na unidade de um item (mesmo com pequena chance 
de acontecer) causaria alteração em varias tuplas da relação.
NORMALIZAÇÃO DE DADOS
- Os problemas de anomalia são estudados nas próximas regras de normalização.
Endereço
Cidade
CEPLocal
L&C
Item
Pedido
possui
N
1
4
7UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
NORMALIZAÇÃO DE DADOS
ANOMALIAS EM RELAÇÕES QUE ESTÃO SOMENTE NA 1FN [Cood 72]
���� tabela de associado na 1FN (sistema da ZipCar)
Relação com exemplos de anomalias ou problemas de operacionalização:
• O plano ficou como atributo na tabela de associado.
1. Se o associado ASSO20 for excluído a informação do nome do plano
será perdida pois só essa tupla é desse plano. (Anomalia de eliminação)
2. Se um novo plano precisar ser criado ele terá que esperar um novo
associado que deseje fazer essa escolha. (Anomalia de inserção)
3. O plano “$125” possui dois valores (nomes), se uma busca pelo plano
“$125” for feita tuplas poderão ser perdidas e não seriam consideradas
na pesquisa. (Anomalia de atualização)
1ª FN
8UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Dependência Funcional
NORMALIZAÇÃO DE DADOS
DEPENDÊNCIA FUNCIONAL (DF):
Dada uma relação R, diz-se que uma coluna B é dependente funcional de 
uma coluna A de R, denominando por A ���� B, se e somente se a cada valor 
v[A] ocorrer em linhas diferentes o mesmo valor v[B].
Por exemplo sempre que o item de pedido for do mesmo produto o 
valor da unidade será repetido. Diz–se que “unidade” é dependente funcional 
(DF) de “itemPedido” ou que “itemPedido” determina “unidade” (ou será o 
produto?).
----------------------------------------------------Você pode identificar outras DFs nas relações dos exemplos anteriores ?
----------------------------------------------------
Uma conclusão: Se B é subconjunto de atributos de A, evidentemente A ����
B; esta é chamada uma DF trivial.
Exemplo: {idPedido, dataPedido, dataEntrega} � {idPedido}
idPlano plano
5
9UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Exercícios de Revisão
1. Explique o que é normalização.
2. Cite duas maneiras de se organizar em um esquema relacional na 1FN.
3. Para a descrição do problema BD DE VENDEDORES, ÁREAS DE VENDA E PRODUTOS
a) Elabore, para a aplicação, o projeto lógico (MER) e o projeto físico
(com relações na primeira forma normal).
b) Indique algumas dependências funcionais existentes no projeto.
BD DE VENDEDORES, ÁREAS DE VENDA E PRODUTOS:
Com a finalidade de pagar vendedores quinzenalmente, foi
decidido organizar um BD de vendedores, áreas de venda e
produtos. [Adaptado do exercício 17.6 do livro texto (Date).]
i. Cada vendedor é responsável por uma ou mais áreas; cada
área tem um ou mais vendedores. Cada vendedor pode vender
vários produtos, e cada produto tem um ou mais vendedores
coordenadores do produto.
ii. Todos os produtos são vendidos em todas as áreas; porém,
nenhum par de vendedores vende o mesmo produto em uma
mesma área.
iii. Cada vendedor vende o mesmo conjunto de produtos em
todas as áreas nas quais ele é o vendedor responsável.
1ª FN e DF
10UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Exercícios de Revisão
4. Para a conta de cobrança ao 
lado, faça um trabalho de 
engenharia reversa:
a) Elabore, para uma 
aplicação que tenha como 
objetivo cobrar 
mensalmente as contas 
de consumo de energia, o 
projeto lógico (MER) e o 
projeto físico (com 
relações na primeira 
forma normal).
b) Indique algumas 
dependências funcionais 
existentes no projeto.
1ª FN e DF
6
11UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
Exercícios de Revisão (solução)
BD DE VENDEDORES, ÁREAS DE VENDA E PRODUTOS:
Projeto Lógico - MER (soluções):
1ª FN e DF
Vendedor
Área
Produto
abrange
M
N
é responsável por
N
M
1
vende
ÁREA-PRODUTO
NVendedor
Área
Produto
M
N
é responsável por
N
M
1
vende
abrange
Projeto Físico – esquemas das relações:
Vendedor = { cpfVendedor, nomeVendedor, local, CEP, Cidade }
Area = { codArea, nomeArea, Cidade }
Produto = { idProduto, descProduto, preçoUnitario, cor, tipo }
Responsabilidades = { cpfVendedor, codArea }
Vendas = { cpfVendedor, codArea, idProduto, dataVenda, quantidade }
Abrangencias = { codArea, idProduto }
Dependências funcionais:
cpfVendedor ���� { nomeVendedor, local }
codArea ���� { nomeArea }
idProduto ���� { descProduto, preçoUnitario, cor, tipo }
12UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira
BIBLIOGRAFIA
Chen, Peter; The Entity-Relationship Model - Toward a 
Unified View of Data, ACM Transactions on Database Systems 
1 (1): 9–36. (March 1976). 
C. J. Date, “Introdução a Sistemas de Bancos de Dados” – 8ª 
Edição”, Editora Campus, 2003.
Setzer, Valdemar; Banco de Dados – conceitos, modelos, 
gerenciadores, projeto lógico e projeto físico; Editora Edgard 
Blücher Ltda., SP, 1986.
Silberschatz, Avi; Korth, H; Sudarshan, S; Database System 
Concepts, 6th Edition, McGraw-Hill, 2005.

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes