Buscar

Normalização e Formas Normais

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
Cliquez pour modifier le style du titre
Normalização e as Formas 
Normais
Profa. Vaninha Vieira
(vaninha@dcc.ufba.br)
Salvador, Agosto/2013
Universidade Federal da Bahia 
Instituto de Matemática 
Departamento de Ciência da Computação
MATA60 – Banco de Dados
2
Créditos: Parte dos slides utilizados nesta apresentação foram adaptados 
dos slides do Livro do Elmasri & Navathe, 2011 – 6a Edição.
Cap. 15
3
Diretrizes informais de projeto para esquemas 
de relações
� Medidas de qualidade
1. Garantir que a semântica dos atributos seja clara no 
esquema
2. Reduzir a informação redundante nas tuplas
3. Reduzir os valores NULL nas tuplas
4. Reprovar a possibilidade de gerar tuplas falsas
� Muito importante entender de fato o conceito de 
entidade neste processo
� Muito importante entender a semântica das entidades e 
os atributos que as representam
4
Diretriz 1
� Projete um esquema de relação de modo que seja fácil
explicar seu significado
� Não combine atributos de vários tipos de entidade e de
relacionamento em uma única relação
5
Diretriz 2
� Projete os esquemas da base de modo que nenhuma
anomalia de atualização esteja presente nas relações
• Anomalia de Inserção, Exclusão ou Modificação
� Agrupamento de atributos em esquemas de relação
� Efeito significativo no espaço de armazenamento
� Se houver alguma anomalia:
• Anote-as claramente
• Cuide para que os programas que atualizam o banco de
dados operem corretamente
6
FUNC_DEP
Anomalia de Inserção: 
a)Inserir um novo funcionário?
b)Inserir um novo departamento (ainda sem funcionário associado)?
Anomalia de Remoção: 
a)Excluir um funcionário?
Anomalia de Modificação: 
a)Mudar o gerente de um departamento?
2
7
Diretriz 3
� Podemos agrupar muitos atributos em uma relação 'gorda‘
• Acabamos com muitos NULLs
• Problemas com NULLs
� Desperdício de espaço de armazenamento
� Problemas com o conhecimento do significado
� Problemas com o uso de funções de agregação nas 
consultas
� Evite colocar atributos em uma relação da base cujos
valores podem ser NULL com frequência
� Se os NULLs forem inevitáveis:
• Garanta que eles se apliquem apenas em casos excepcionais,
e não à maioria das tuplas
8
Diretriz 4
� Evite relações com atributos correspondentes que não sejam
combinações (chave estrangeira, chave primária), pois a junção sobre
tais atributos pode produzir tuplas falsas.
� Tupla falsa
• Representam informação falsa, que não é válida
9
Dependências funcionais
� Ferramenta formal para a análise de esquemas relacionais
� Permite detectar e descrever alguns dos problemas
mencionados em termos precisos
� É uma restrição entre dois conjuntos de atributos do BD
� Propriedade da semântica ou significado dos atributos
10
Definição de dependência
funcional
DF1: {Cpf, Projnumero} 
� Horas
DF2: Cpf � Fnome
DF3: Projnumero �
{Projnome, Projlocal}
11
O que é normalização?
� Processo formal, 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
– Objetivos:
• Minimizar redundâncias e inconsistências do banco de dados
• Facilitar manipulação e manutenção do BD e Aplicações
• Melhorar performance e uso do espaço em disco
– Sub-Fases:
• Identificação das redundâncias e outros problemas
• Reorganização do banco de dados
• Reprojeto das aplicações
12
Normalização e as Formas Normais
� O Processo de normalização aplica uma série de regras sobre as 
tabelas de um banco de dados, para verificar se estas estão 
corretamente projetadas
� Na prática usamos um conjunto de 3 Formas Normais.
• Primeira Forma Normal (1FN)
• Segunda Forma Normal (2FN)
• Terceira Forma Normal (3FN)
• Devem ser aplicadas nessa ordem
� Existem 5 formas normais (regras de normalização)
• Além da Forma Normal de Boyce-Codd
Proposto por Codd em 1972
Conceito Base:
Dependências Funcionais 
de Atributos de uma relação
3
13
Primeira Forma Normal (1FN)
� Uma relação está na 1FN, se não houver atributos 
multivalorados, compostos e suas combinações
� Os únicos valores de atributo permitidos são os valores atômicos (ou
indivisíveis)
� 1FN reprova relações dentro de relações ou relações como valores de
atributo dentro de tuplas.
14
Primeira Forma Normal (1FN)
� Técnicas principais para conseguir a 1FN
1. Remover o atributo e colocá-lo em uma relação separada
2. Expandir a chave
3. Usar vários atributos atômicos
15
Exemplo 2: Atributos compostos
16
Segunda Forma Normal (2FN)
� Uma relação está na Segunda Forma Normal 2FN se 
• Ela estiver na 1FN
• Todos os atributos não chave forem totalmente dependentes da 
chave primária 
(dependente de toda a chave e não apenas parte dela)
• Conceito de Dependência Funcional Total
17
Segunda Forma Normal (2FN)
� 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.
c) A chave primária da nova entidade será o atributo do qual os 
atributos removidos são funcionalmente dependentes.
18
Terceira Forma Normal (3FN)
� Uma relação está na Terceira Forma Normal 3FN se 
• Ela estiver na 2FN
• Nenhum atributo não-chave depender de outro atributo não-chave
� Baseada no conceito de dependência transitiva
4
19
� Procedimentos:
a) Identificar todos os atributos que são funcionalmente 
dependentes de outros atributos não chave;
b) Removê-los;
c) A chave primária da nova entidade será o atributo do qual os 
atributos removidos são funcionalmente dependentes.
Terceira Forma Normal (3FN)
20
Exemplo
� Na 3FN temos de eliminar aqueles campos que podem ser 
obtidos pela equação de outros campos da mesma tabela.
21
Definições gerais das formas normais 
baseadas em chaves primárias
22
Exercício de Normalização
23
1FN (parte 1)
24
1FN (parte 2)
5
25
2FN
26
3FN
Todos os empregados da 
categoria A1 e A2 possuem 
salário 4 e B1 possuem salário 9.
A 3FN visa eliminar esse tipo de 
redundância.
27
Lista de Exercícios - Instruções
� Normalize as relações de forma que todas as relações resultantes 
estejam na forma normal mais restrita. Considere a 1FN, 2FN e 3FN
� Para cada forma normal:
• identifique que dependências funcionais se aplicam sobre a relação;
• identifique e justifique se a relação encontra-se ou não na forma 
normal em questão; e
• caso a relação sendo analisada não se encontre na forma normal 
em questão, normalize a relação, especificando as relações 
originadas. 
� Nos exercícios, a normalização deve ser realizada passo a passo (ou 
seja, forma normal a forma normal). 
� As respostas não devem listar apenas as relações finais. 
28
Exercício 1
vendedor ( nro_vend, nome_vend, sexo_vend,{ 
cliente (nro_cli, nome_cli, end_cli ) } )
�As seguintes dependências funcionais devem ser 
garantidas na normalização:
• nro_vend → nome_vend, sexo_vend
• nro_cli → nome_cli, end_cli
�Observações adicionais:
• um vendedor pode atender diversos clientes, e um 
cliente pode ser atendido por diversos vendedores
29
Exercício 2
aluno ( nro_aluno, cod_depto, nome_depto, sigla_depto, 
cod_orient, nome_orient, fone_orient, cod_curso )
As seguintes dependências funcionais devem ser garantidas 
na normalização:
cod_depto → {nome_depto, sigla_depto}
cod_orient → {nome_orient, fone_orient}
nro_aluno → {cod_depto, cod_orient, cod_curso}
Observações adicionais:
um aluno somente pode estar associado a um departamento
um aluno cursa apenas um único curso
um aluno somente pode ser orientado por um único orientador 
30
Exercício 2
empresa (cod_empresa, nome_empresa, end_empresa, 
nome_fundador, nacionalidade_fundador, { filial (filial_nro, 
filial_local, filial_data_abertura) })
As seguintes dependências funcionais devem ser garantidas 
na normalização:
cod_empresa → {nome_empresa, end_empresa, nome_fundador}
nome_fundador → nacionalidade_fundador
{cod_empresa, filial_nro} → {filial_local, filial_data_abertura}
Observações adicionais:
•uma empresasomente pode ter sido fundada por um único fundador. 
6
31
Referências usadas na apresentação
� Elmasri & Navathe. 2011. Sistemas de Banco de Dados. 6ª ed. Editora Pearson.
� http://www.luis.blog.br/normalizacao-de-dados-e-as-formas-normais.aspx
� http://infernatica.blogspot.com.br/2007/09/normalizao-de-banco-de-dados.html
� Material do curso da Profa Cristina Ciferri. Universidade de São Paulo. Instituto 
de Ciências Matemáticas e de Computação.

Outros materiais