Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Prof. Camilo de Lelis
Disc.Banco de Dados
1
Prof. Camilo de Lelis
Normalização
Análise de 
Desenvolvimento de 
Sistemas
Prof. Camilo de Lelis Disc.Banco de Dados 2
NORMALIZAÇÃO 
Codd 1970
DATE 3FN ( aperfeiçoada )
FAGIN 4FN e 5FN surgiram em 1977.
Normalização
•Normalização de dados é 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.
Disc.Banco de Dados Prof. Camilo de Lelis 3
Regra de 
Ouro
• “Não misturar assuntos em uma
mesma Tabela". Por 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.
Prof. Camilo de Lelis Disc.Banco de Dados 4
Objetivos
Prof. Camilo de Lelis Disc.Banco de Dados 5
MINIMIZAÇÃO DE 
REDUNDÂNCIAS E 
INCONSISTÊNCIAS; 
FACILIDADE DE 
MANIPULAÇÕES DO BANCO 
DE DADOS; 
FACILIDADE DE 
MANUTENÇÃO DO 
SISTEMA DE INFORMAÇÃO.
INCONSISTÊNCIA DE DADOS
• é qualquer imprecisão nas informações que circulam pela empresa.
Esse conteúdo inverídico pode ocorrer pelas mais diversas razões,
como:
• falhas humanas decorrentes de sucessivas digitações manuais;
• necessidade de transposição constante das informações em
papel para sistemas eletrônicos;
• extravio de documentos físicos;
• coexistência de diversos sistemas de gestão sem integração;
• uso de ERP local, cujas informações não podem ser acessadas de
qualquer lugar — ou seja, ausência de mobilidade;
• erros de cálculo (gap muito comum na prestação de informações
contábeis);
• falhas de segurança de dados, acarretando invasões, alterações
ou apagamento de dados.
Prof. Camilo de Lelis Disc.Banco de Dados 6
REFINAMENTO DE ESQUEMA
• Armazenamento redundante
• Algumas informações são armazenadas repetidamente 
• Anomalias de atualização
• Se uma cópia dos dados redundantes é atualizada, é gerada uma inconsistência
• Anomalias de inserção
• Pode não ser possível armazenar certas informações, a não ser que outras informações 
não relacionadas sejam armazenadas
• Anomalias de exclusão
• Pode não ser possível excluir certas informações sem perder também algumas 
informações não relacionadas
Prof. Camilo de Lelis Disc.Banco de Dados 7
REFINAMENTO DE ESQUEMA
• Problemas causados pela redundância
• Ex: Funcao_Horista (cpf, nome, vaga, avaliacao, salario_hora, 
horas_trabalhadas)
• RI: salario_hora é determinado pela avaliação → é uma dependência 
funcional
• Essa dependência funcional gera redundância
Prof. Camilo de Lelis Disc.Banco de Dados 8
Cpf nome vaga avaliação salario_hora horas_trabalhadas
123456 Artur 48 8 10 40
234567 Sandro 22 8 10 30
345678 Saulo 35 5 7 30
456789 Gustavo 35 8 7 32
567890 Manoel 35 8 10 40
Prof. Camilo de Lelis Disc.Banco de Dados 9
• Se o mesmo valor aparece na coluna avaliação de duas 
tuplas, a RI nos informa que o mesmo valor deve aparecer 
na coluna salario_hora.
• Consequências negativas
• Armazenamento redundante 
• Anomalias de atualização 
• Anomalias de inserção 
• Anomalias de exclusão
Instância da relação Funcao_Horistas
Prof. Camilo de Lelis Disc.Banco de Dados 10
Cpf nome vaga avaliação salario_hora horas_trabalhadas
123456 Artur 48 8 10 40
234567 Sandro 22 8 10 30
345678 Saulo 35 5 7 30
456789 Gustavo 35 8 7 32
567890 Manoel 35 8 10 40
Avaliacao salario_hora
8 5 
10 7
É possível:
• Registrar o salario_hora para qualquer
avaliação
• Mudar o salario_hora associado a uma
avaliacao apenas atualizando uma única
tupla
As formas 
normais
D
isc.B
an
co
 d
e D
ad
o
s
• 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. Embora existam cinco
formas normais (ou regras de
normalização), na prática usamos
um conjunto de três Formas
Normais.
Prof. Camilo de Lelis 11
Prof. Camilo de Lelis Disc.Banco de Dados 12
NORMALIZAÇÃO 
Primeira Forma 
Normal (1FN))
Segunda Forma 
Normal (2FN) 
Terceira Forma 
Normal (3FN)
PROPOSTA DE CODD
Normalização
D
isc.B
an
co
 d
e D
ad
o
s O conceito de normalização foi introduzido por E. 
F. Codd em 1972.
Inicialmente Codd criou as três primeiras formas 
de normalização chamando-as de:
 Primeira forma normal (1NF),
 Segunda forma normal (2NF) e
 Terceira forma normal (3NF).
Uma definição mais forte da 3NF foi proposta 
depois por Boyce-Codd, e é conhecida como forma 
normal de Boyce-Codd (FNBC).
Prof. Camilo de Lelis 13
Prof. Camilo de Lelis Disc.Banco de Dados 14
• Através do processo de normalização pode-se,
gradativamente, substituir um conjunto de entidades e
relacionamentos por um outro, o qual se apresenta
"purificado" em relação às anomalias de atualização
(inclusão, alteração e exclusão) as quais podem causar
certos problemas, tais como:
• Grupos repetitivos (atributos multivalorados) de
dados;
• Redundâncias de dados desnecessárias;
• Perdas acidentais de informação;
• Dificuldade na representação de fatos da realidade
observada;
• Dependências transitivas entre atributos.
Normalização
Prof. Camilo de Lelis Disc.Banco de Dados 15
• Normalização de relações é portanto uma técnica que
permite depurar um projeto de banco de dados,
através da identificação de inconsistências
(informações em duplicidade, dependências
funcionais mal resolvidas, etc).
• À medida que um conjunto de relações passa para
uma forma normal, vamos construindo um banco de
dados mais confiável.
• O objetivo da normalização não é eliminar todos as
inconsistências, e sim controlá-las.
Normalização
Primeira 
Forma 
Normal 
(1FN))
D
isc.B
an
co
 d
e D
ad
o
s
• Uma relação está na primeira forma normal se 
todos os seus atributos são monovalorados e 
atômicos.
• Quando encontrarmos um atributo multivalorado, 
deve-se criar um novo atributo que individualize a 
informação que esta multivalorada:
• BOLETIM {matricula-aluno, materia, notas}
• No caso acima, cada nota seria individualizada 
identificando a prova a qual aquela nota se refere:
• BOLETIM {matricula-aluno, materia, numero-prova, 
nota}
Prof. Camilo de Lelis 16
Prof. Camilo de Lelis Disc.Banco de Dados 17
• Quando encontrarmos um atributo não atômico, deve-se
dividi-lo em outros atributos que sejam atômicos:
• PESSOA {CPF, nome-completo}
• Vamos supor que, para a aplicação que utilizará esta relação, o
atributo nome-completo não é atômico, a solução então será:
• PESSOA {CPF, nome, sobrenome}
Primeira Forma Normal (1FN))
Primeira Forma Normal (1FN))
Prof. Camilo de Lelis Disc.Banco de Dados 18
• Identificar os elementos repetitivos e, com
eles, criar uma nova tabela. A chave desta
tabela será a concatenação da chave
primária da tabela original com a chave
primária do grupo repetitivo.
Separar o Grupo Repetitivo
Pr
o
ce
d
im
en
to
s:
P
ro
f. C
am
ilo
 d
e Lelis
19
D
isc.B
an
co
 d
e D
ad
o
s
Criar uma nova entidade com a chave primária da 
entidade anterior e o grupo repetitivo.
A chave primária da nova entidade será obtida pela 
concatenação da chave primária da entidade inicial e a do 
grupo repetitivo. 
Identificar o grupo repetitivo e removê-lo da 
entidade;
Identificar a chave primária da entidade;
Considere a tabela cliente abaixo:
•Cliente 
Código_cliente
Nome 
* Telefone 
**Endereço
Prof. Camilo de Lelis Disc.Banco de Dados 20
Tabela desnormalizada, ou seja, não está na 1ª forma normal
Todos os clientes possuem Rua, CEP 
e Bairro, estão na mesma célula da 
tabela
colocar cada informação em uma coluna 
diferente, como no exemplo a seguir:
Prof. Camilo de Lelis Disc.Banco de Dados 21
Tabela ainda não está na primeira forma normal
Existem clientes com dois 
telefones no mesmo campo
Vamos criar uma nova tabelapara armazenar os
números dos telefones e o campo-chave da tabela
cliente. Veja o resultado a seguir:
Prof. Camilo de Lelis Disc.Banco de Dados 22
Tabela na primeira forma normal
Tabela na 1ª forma normal
Prof. Camilo de Lelis Disc.Banco de Dados 23
Normalização
Exemplo de tabela que viola a 1º NF:
Empregado {emp_num, emp_nome, depend_num}
emp_num emp_nome dependentes
1052 Bob Jones D213
1053 Liz Moore
1107 Ted Smith D240 D241
Prof. Camilo de Lelis Disc.Banco de Dados 24
Normalização
Exemplo de tabela que obedece a 1º NF:
Empregado {emp_num, emp_nome, depend_num}
emp_num emp_nome depend_num
1052 Bob Jones D213
1053 Liz Moore
1107 Ted Smith D240 
1107 Ted Smith D241
Segunda 
Forma 
Normal 
(2FN)
P
ro
f. C
am
ilo
 d
e Lelis
25
D
isc.B
an
co
 d
e D
ad
o
s
É aplicada somente nas tabelas criadas na 
primeira forma normal. 
Nestas tabelas concatenadas, procurar se 
existe alguns atributos que dependem 
somente de um dos atributos da chave 
primária concatenada.
Os atributos que forem dependentes de 
somente um dos atributos da chave 
concatenada formarão nova tabela. 
Todos os atributos não chave forem 
totalmente dependentes da chave primária 
(dependente de toda a chave e não apenas de 
parte dela). 
Segunda 
Forma 
Normal 
(2FN)
Uma relação está na segunda forma 
normal quando duas condições são 
satisfeitas:
1 - A relação estiver na primeira 
forma normal;
2 - Todos os atributos primos 
dependerem funcionalmente de 
toda a chave primária. 
Procedimentos:
Prof. Camilo de Lelis Disc.Banco de Dados 27
Identificar os atributos que não são funcionalmente 
dependentes de toda a chave primária; 
Remover da entidade todos esses atributos 
identificados e criar uma nova entidade com eles. 
A chave primária da nova entidade será o atributo 
do qual os atributos removidos são funcionalmente 
dependentes.
Observe a relação abaixo
BOLETIM = {matricula-aluno, codigo-materia,
numero-prova, nota, data-da-prova, nome-aluno,
endereço-aluno, nome-materia}
Fazendo a análise da dependência funcional de cada 
atributo primo, chegamos às seguintes 
dependências funcionais:
• matricula-aluno, codigo-materia, numero-prova -> nota 
• codigo-materia, numero-prova -> data-da-prova 
• matricula-aluno -> nome-aluno, endereço-aluno 
• codigo-materia -> nome-materia 
Prof. Camilo de Lelis Disc.Banco de Dados 28
Conclusão
• Apenas o atributo primo nota depende totalmente de
toda chave primária. Para que toda a relação seja passada
para a segunda forma normal, deve-se criar novas
relações, agrupando os atributos de acordo com suas
dependências funcionais:
• BOLETIM {matricula-aluno, codigo-materia, numero-prova, 
nota}
• PROVA {codigo-materia, numero-prova, data-da-prova}
• ALUNO {matricula-aluno, nome-aluno, endereço-aluno}
• MATERIA {codigo-materia, nome-materia}
Prof. Camilo de Lelis Disc.Banco de Dados 29
Exemplo de segunda forma normal
• Considere a tabela vendas abaixo:
Vendas 
N_pedido
Código_produto
Produto 
Quant 
Valor_unit
Subtotal
Prof. Camilo de Lelis Disc.Banco de Dados 30
OBSERVAÇÃO
• Se o nome do produto já existe na tabela produtos, 
então não é necessário que ele exista na tabela de 
Vendas. A segunda forma normal trata destas 
anomalias e evita que valores fiquem em redundância 
no banco de dados. 
Disc.Banco de Dados Prof. Camilo de Lelis 31
Agora a tabela com os dados: 
O nome do produto depende do código do produto,
porém não depende de N_pedido que é a chave primária
da tabela, portanto não está na segunda forma normal.
Isto gera problemas com a manutenção dos dados, pois
se houver alteração no nome do produto teremos que
alterar em todos os registros da tabela venda.
Prof. Camilo de Lelis Disc.Banco de Dados 32
Tabela não está na segunda forma normal
Temos de criar a tabela Produto que ficará com os
atributos Código_produto e produto e na tabela Venda
manteremos somente os atributos N_pedido,
código_produto, quant, valor_unit e subtotal.
Prof. Camilo de Lelis Disc.Banco de Dados 33
Tabela na segunda forma normal
Tabela na 2ª forma normal
Exemplo de tabela que viola a 2º NF:
chave primária (s#, p#)
decomposição funcional:
p# ---> pnome
p# ---> cdcor
p# ---> cor
p# ---> peso
(s#,p#) ---> quantidade
* a única dependência total é a da quantidade
Entregas s#
p#
pnome
cdcor
cor
peso
quantidade
Prof. Camilo de Lelis Disc.Banco de Dados 34
Entregas
s# p# pnome cdcor cor peso quant
-- -- ----- ----- ----- ---- -----
s1 p1 prego A1 cinza 13 300
s1 p2 porca A2 preta 15 200
s2 p1 prego A1 cinza 13 750
s2 p3 chave A3 azul 10 650
s2 p4 roda A2 preta 23 400
s4 p5 jante A1 cinza 25 200
Exemplo de tabela que viola a 2º NF:
Prof. Camilo de Lelis Disc.Banco de Dados 35
entregas peças
s# p#
p# pnome
quantidade cdcor
cor
peso
chave primária: 
(s#, p#)
chave primária: 
p#
Exemplo de tabela que obedecem a 2º NF:
Prof. Camilo de Lelis Disc.Banco de Dados 36
Terceira Forma Normal (3FN)
• A tabela original não pode conter atributos que
dependam de outro atributo que não seja a chave
primária. Então deve-se localizar, na tabela original,
os atributos que possuem uma chave própria e
separá-los em outra tabela.
• Deve-se eliminar os atributos que são o resultado
de algum cálculo matemático sobre outro atributo,
pois torna-se redundante armazenar um dado que é
o resultado de outro
Disc.Banco de Dados Prof. Camilo de Lelis 37
Condições 
Uma relação está na terceira forma normal quando duas 
condições forem satisfeitas:
1 - A relação estiver na segunda forma normal; 
2 - Todos os atributos primos dependerem NÃO
transitivamente de toda a chave primária.
Prof. Camilo de Lelis Disc.Banco de Dados 38
Observe a relação abaixo:
PEDIDO {numero-pedido, codigo-cliente, data-
pedido, nome-cliente,codigo-cidade-cliente, nome-
cidade-cliente}
Fazendo a análise da dependência funcional de cada
atributo primo, chegamos às seguintes
dependências funcionais:
numero-pedido -> codigo-cliente
numero-pedido -> data-pedido
codigo-cliente -> nome-cliente
codigo-cliente -> codigo-cidade-cliente
codigo-cidade-cliente -> nome-cidade-cliente
Prof. Camilo de Lelis Disc.Banco de Dados 39
Conclusão
Apenas os atributos primos codigo-cliente e data-pedido dependem não
transitivamente totalmente de toda chave primária.
Observe que:
numero-pedido -> codigo-cliente -> nome-cliente 
numero-pedido -> codigo-cliente -> codigo-cidade-cliente 
numero-pedido -> codigo-cliente -> codigo-cidade-cliente -> nome-cidade-
cliente 
Isto é dependência transitiva, devemos resolver inicialmente as
dependências mais simples, criando uma nova relação onde codigo-
cliente é a chave, o codigo-cliente continuará na relação PEDIDO como
atributo primo, porém, os atributos que dependem dele devem ser
transferidos para a nova relação:
PEDIDO {numero-pedido, codigo-cliente, data-pedido}
CLIENTE {codigo-cliente, nome-cliente, codigo-cidade-cliente, nome-
cidade-cliente}
Prof. Camilo de Lelis Disc.Banco de Dados 40
As dependências transitivas da relação PEDIDO foram eliminadas, 
porém ainda devemos analisar a nova relação CLIENTE:
codigo-cliente -> codigo-cidade-cliente -> nome-cidade-cliente
Observe que o nome-cidade-cliente continua com uma 
dependência transitiva, vamos resolvê-la da mesma maneira :
PEDIDO {numero-pedido, codigo-cliente, data-pedido}
CLIENTE {codigo-cliente, nome-cliente, codigo-cidade-cliente}
CIDADE {codigo-cidade-cliente, nome-cidade-cliente}
Prof. Camilo de Lelis Disc.Banco de Dados 41
Considere a tabela abaixo:
O subtotal é o resultado da multiplicação Quant X
Valor_unit, desta forma a coluna subtotal depende
de outras colunas não-chave.
Prof. Camilo de Lelis Disc.Banco de Dados 42
Tabela não está na terceira forma normal
Para normalizar esta tabela na terceira forma normal
teremos de eliminar a coluna subtotal, como no exemplo a
seguir:
•A normalização torna a tabela mais otimizada esem anomalias,
Prof. Camilo de Lelis Disc.Banco de Dados 43
Tabela na terceira forma normal
peças
p#
pnome
cdcor
cor
peso
cidade
p# pnome cd_cor cor peso cidade
-----------------------------------
01 prego A1 cinza 13 Paris
02 porca A2 preta 15 Londres
03 chave A3 azul 10 Londres
04 roda A2 preta 23 Paris
05 jante A1 cinza 25 Athenas
Exemplo de tabela que viola a 3º NF:
Prof. Camilo de Lelis Disc.Banco de Dados 44
peças
p#
pnome
cor
peso
cidade
p# pnome cor peso cidade
-- ----- --- ---- ------
01 prego cinza 13 Paris
02 porca preta 15 Londres
03 chave azul 10 Londres
04 roda preta 23 Paris
05 jante cinza 25 Athenas
Exemplo de tabela que obedece a 3º NF (1º opção):
Prof. Camilo de Lelis Disc.Banco de Dados 45
peças
p#
pnome
cd_cor
peso
cidade
p# pnome cd_cor peso cidade
-- ----- ------ ---- -------
01 prego A1 13 Paris
02 porca A2 15 Londres
03 chave A3 10 Londres
04 roda A2 23 Paris
05 jante A1 25 Athenas
Exemplo de tabela que obedece a 3º NF (2º opção):
Prof. Camilo de Lelis Disc.Banco de Dados 46
Prof. Camilo de Lelis Disc.Banco de Dados 47
NORMALIZAÇÃO 
Os três principais casos de anomalias :
Grupo Repetitivo
Dependência Funcional Parcial
O Atributo só depende de parte da chave-
primária e não dela como um todo
Dependência Transitiva
Quando um atributo A depende de outro
atributo B que não pertence à chave primária,
mas é dependente funcional desta.
Valor total 450,00
Imposto 13,00
Total Geral 437,00
Cód-item Descrição Qtd embal. Preço Valor
2346 parafuso 10 Cx 3,00 30,00
1345 porcas 5 Cx 4,00 20,00
2664 óleo ind. 100 L 4,00 400,00 
Prof. Camilo de Lelis Disc.Banco de Dados 48
EMPRESA XYZ Ordem de Pedido
NÚMERO DA ORDEM : 1234
CÓDIGO DO CLIENTE : 001
NOME DO CLIENTE :Carlos Eduardo
ENDEREÇO : Av. Colares Moreira,999
CIDADE : São Luís
UF : MA CEP : 65000
DATA DE DESPACHO : 31/01/99
OBSERVAÇÃO : Não enviar no horário da tarde. 
Prof. Camilo de Lelis Disc.Banco de Dados 49
Reforçando Anomalias
Inclusão não podemos cadastrar um
equipamento sem que tenhamos
um contrato.
Exclusão se removermos um contrato
temos que remover todos os dados
do equipamento.
Alteração redundância nos dados do
equipamento.
Tabela completa
• Pedido = {Número da ordem, Código do cliente, Nome do cliente,
Endereço, Cidade, UF, CEP, Data de Despacho, Observações, Código
Item, Descrição, Quantidade, Embalagem, Preço Unitário, Valor
Total, Impostos, Total Geral}
Prof. Camilo de Lelis Disc.Banco de Dados 50
Prof. Camilo de Lelis Disc.Banco de Dados 51
NORMALIZAÇÃO 
Considere uma relação não normalizada : 
Número da ordem
Código do cliente
Nome do cliente
Endereço
Cidade
UF
CEP
Data de Despacho
Observações
Código Item
Descrição
Quantidade 
Embalagem
Preço Unitário
Valor Total
Impostos
Total Geral
Prof. Camilo de Lelis Disc.Banco de Dados 52
Primeira Forma Normal (1FN))
Número da ordem
Código do cliente
Nome do cliente
Endereço
Cidade
UF
CEP
Data de Despacho
Observações
Código Item
Descrição
Quantidade 
Embalagem
Preço Unitário
Valor Total
Impostos
Total Geral
tirar as repetições1
Prof. Camilo de Lelis Disc.Banco de Dados 53
Número da ordem
Código do cliente
Nome do cliente
Endereço
Cidade
UF
CEP
Data de Despacho
Observações
Impostos
Total Geral 
Código Item
Descrição
Quantidade 
Embalagem
Preço Unitário
Valor Total
tirar as repetições1
Prof. Camilo de Lelis Disc.Banco de Dados 54
2 Identificar o atributo que permita uma
dependência funcional direta ou indireta
dos outros atributos em relação a ele.
Número da ordem
Código do cliente
Nome do cliente
Endereço
Cidade
UF
CEP
Data de Despacho
Observações
Impostos
Total Geral 
Código Item
Descrição
Quantidade 
Embalagem
Preço Unitário
Valor Total
Prof. Camilo de Lelis Disc.Banco de Dados 55
3 Conservar a propriedade reversível 
desta projeção
Número da ordem
Código do cliente
Nome do cliente
Endereço
Cidade
UF
CEP
Data de Despacho
Observações
Impostos
Total Geral 
Número da ordem
Código Item
Descrição
Quantidade 
Embalagem
Preço Unitário
Valor Total
Prof. Camilo de Lelis Disc.Banco de Dados 56
Segunda Forma Normal (2FN))
1 verificar dependência entre identificador
Número da ordem
Código do cliente
Nome do cliente
Endereço
Cidade
UF
CEP
Data de Despacho
Observações
Impostos
Total Geral 
Número da ordem
Código Item
Descrição
Quantidade 
Embalagem
Preço Unitário
Valor Total
Prof. Camilo de Lelis Disc.Banco de Dados 57
Segunda Forma Normal (2FN))
2 verificar dependência entre identificador
Número da ordem
Código Item
Descrição
Quantidade
Valor Total
Embalagem
Preço Unitário
Código Item
Descrição
Embalagem
Preço Unitário
Prof. Camilo de Lelis Disc.Banco de Dados 58
Segunda Forma Normal (2FN))
3 verificar dependência entre identificador
Número da ordem
Código Item
Valor Total
Quantidade
Código Item
Descrição
Embalagem
Preço Unitário
Prof. Camilo de Lelis Disc.Banco de Dados 59
Terceira Forma Normal (3FN))
1 verificar dependência entre atributos
Código Item
Descrição
Embalagem
Preço Unitário
Número da ordem
Código do cliente
Nome do cliente
Endereço
Cidade
UF
CEP
Data de Despacho
Observações
Impostos
Total Geral 
Prof. Camilo de Lelis Disc.Banco de Dados 60
Terceira Forma Normal (3FN))
1 verificar dependência entre atributos
Código do cliente
Nome do cliente
Endereço
Cidade
UF
CEP
Número da ordem
Código do cliente
Nome do cliente
Endereço
Cidade
UF
CEP
Data de Despacho
Observações
Impostos
Total Geral 
Prof. Camilo de Lelis Disc.Banco de Dados 61
Terceira Forma Normal (3FN))
2 Separar a dependência transitiva
Código do cliente
Nome do cliente
Endereço
Cidade
UF
CEP
Número da ordem
Código do cliente
Data de Despacho
Observações
Impostos
Total Geral 
Prof. Camilo de Lelis Disc.Banco de Dados 62
TABELAS NORMALIZADAS
Número da ordem
Código do cliente
Data de Despacho
Observações
Impostos
Código do cliente
Nome do cliente
Endereço
Cidade
UF
CEP
CADASTRO DE CLIENTECADASTRO DE ORDEM
Número da ordem
Código Item
Valor 
Quantidade
CADASTRO DE PEDIDO
Código Item
Descrição
Embalagem
Preço Unitário
CADASTRO DE PEÇA
Prof. Camilo de Lelis Disc.Banco de Dados 63
Prof. Camilo de Lelis Disc.Banco de Dados 64
Estudo de caso 1
Considerando as entidades da Vídeo Locadora, 
analise as entidades , abaixo relacionadas ,
quanto a normalização.
FICHA_EMPRÉSTIMO =
núm_ficha + cód_cli + nome_cli + tel_cli +
data_emprest + valor_total_emprést
FITA_EMPRESTADA =
cód_filme + nome_filme + autor-filme + 
preço_unit + quant_emprest + valor_pagar
Prof. Camilo de Lelis Disc.Banco de Dados 65
Como não existe repetição podemos dizer que
ambas Entidades estão na 1FN.
FICHA_EMPRÉSTIMO =
núm_ficha + cód_cli + nome_cli + tel_cli +
data_emprest + valor_total_emprést
FITA_EMPRESTADA =
núm_ficha + cód_filme + nome_filme + autor-filme 
+ preço_unit + quant_emprest + valor_pagar
Prof. Camilo de Lelis Disc.Banco de Dados 66
Como não existe repetição podemos dizer que
ambas Entidades estão na 1FN.
FICHA_EMPRÉSTIMO =
núm_ficha + cód_cli + nome_cli + tel_cli +
data_emprest + valor_total_emprést
FITA_EMPRESTADA =
núm_ficha + cód_filme + nome_filme + autor-
filme + preço_unit + quant_emprest + 
valor_pagar
Prof. Camilo de Lelis Disc.Banco de Dados 67
Verificando a dependência funcional.
FITA_EMPRESTADA =
núm_ficha + cód_filme + nome_filme + autor-
filme + preço_unit + quant_emprest + 
valor_pagar
FITA_EMPRESTADA =
núm_ficha + cód_filme + quant_emprest + 
valor_pagar
FILME =
cód_filme + nome_filme + autor-filme + 
preço_unit
Prof. Camilo de Lelis Disc.Banco de Dados 68
Verificando a dependência transitiva.
FICHA_EMPRÉSTIMO =
núm_ficha + cód_cli+ nome_cli + tel_cli +
endereço + data_emprest + valor_total_emprést
FICHA_EMPRÉSTIMO =
núm_ficha + cód_cli + data_emprest +
valor_total_emprést
CLIENTE =
cód_cli + nome_cli + endereço + tel_cli
Prof. Camilo de Lelis Disc.Banco de Dados 69
Resumindo 
FICHA_EMPRÉSTIMO =
núm_ficha + cód_cli + nome_cli + tel_cli +
data_emprest + valor_total_emprést
FITA_EMPRESTADA =
cód_filme + nome_filme + autor-filme + 
preço_unit + quant_emprest + valor_pagar
Prof. Camilo de Lelis Disc.Banco de Dados 70
FICHA_EMPRÉSTIMO =
núm_ficha + cód_cli + data_emprest + valor_total_emprést
CLIENTE =
cód_cli + nome_cli + endereço + tel_cli
Entidades após a Normalização
FITA_EMPRESTADA =
núm_ficha + cód_filme + quant_emprest + valor_pagar
FILME =
cód_filme + nome_filme + autor-filme + preço_unit
Prof. Camilo de Lelis Disc.Banco de Dados 71
Considere uma relação não normalizada : 
Mat_funcionário
nome_funcionário
data_admissão
código_cargo
valor_salário
nome_dependente
data_nascimento_dep
código_setor
nome_setor
código_habilidade
nome_habilidade
data_formação_hab
Estudo de Caso 2
Prof. Camilo de Lelis Disc.Banco de Dados 72
Primeira Forma Normal (1FN))
tirar as repetições
Mat_funcionário
nome_funcionário
data_admissão
código_cargo
valor_salário
código_setor
nome_setor
Mat_funcionário
nome_dependente
data_nascimento_dep
1
Mat_funcionário
código_habilidade
nome_habilidade
data_formação_hab
Prof. Camilo de Lelis Disc.Banco de Dados 73
Segunda Forma Normal (2FN))
dependência funcional
Mat_funcionário
código_habilidade
nome_habilidade
data_formação_hab
código_habilidade
nome_habilidade
Mat_funcionário
código_habilidade
data_formação_hab
Prof. Camilo de Lelis Disc.Banco de Dados 74
Terceira Forma Normal (3FN))
dependência transitiva
Mat_funcionário
nome_funcionário
data_admissão
código_cargo
valor_salário
código_setor
nome_setor
Prof. Camilo de Lelis Disc.Banco de Dados 75
Terceira Forma Normal (3FN))
dependência transitiva
código_setor
nome_setor
Mat_funcionário
nome_funcionário
data_admissão
código_cargo
código_setor
código_cargo
valor_salário
Prof. Camilo de Lelis Disc.Banco de Dados 76
Mat_funcionário
nome_funcionário
data_admissão
código_cargo
código_setor
FUNCIONÁRIO
código_setor
nome_setor
SETOR
Mat_funcionário
nome_dependente
data_nascimento_dep
DEPENDENTES
código_habilidade
nome_habilidade
HABILIDADE
Mat_funcionário
código_habilidade
data_formação_hab
FUNC/HABIL
código_cargo
valor_salário
CARGO

Mais conteúdos dessa disciplina