SlideShare uma empresa Scribd logo
1 de 18
Base de Dados 1
Agenda









Anomalias
Conceito de Normalização
Dependências Funcional
1ª Forma Normal
2ª Forma Normal
3ª Forma Normal
Regras Práticas
Conceito de
Normalização

 Processo formal que consiste em substituir um
conjunto de entidades por outro conjunto capaz de
comportar melhor as mudanças futuras.
 Entidades normalizadas não possuem redundâncias
(duplicação de dados) acidental. Cada atributo está
relacionado com sua própria entidade e não se mistura
com atributos relativos à entidades diferentes.

 A normalização corresponde na realidade à
formalização de regras baseadas no fato que as
entidades possuem anomalias de actualização.
Anomalias de
Actualização

 Dada a entidade:
 PEDIDO (numero_pedido + data_pedido + numero_cliente
+ nome_cliente + endereco_cliente + ( numero_produto +
nome_produto + qtde_pedida +preco_produto +
total_produto) + total_pedido)

 Quais as anomalias de actualização que acontecerão se:





Um produto for descontinuado por seu fornecedor?
O nome do produto for mudado?
O cliente mudar de endereço?
Os produtos ou as quantidades pedidas pelo cliente forem
mudadas e o cliente esqueceu o número do pedido?
Dependência Funcional

 Dados os atributos “A” e “B” de uma entidade, dizse que “B” é funcionalmente dependente de “A” se e
somente se, a cada valor de “A” está associado um
único valor de “B”.
 Em outras palavras, se conhecermos o valor de “A”
então podemos encontrar o valor de “B” associado a
ele.
Exemplo de
dependência Funcional

Dependência Funcional
Composta ou Completa



 Dado um atributo ou um conjunto de atributos “B”
de uma entidade, sendo a chave primária composta
por um conjunto de atributos “A”, diz-se que “B” é
completamente dependente funcional da chave
primária, se e somente se, a cada valor da chave (e
não a parte dele), está associado um valor para cada
atributo do conjunto “B”.
Dependência Transitiva

 Dados os atributos “A”, “B” e “C” de uma
entidade, sendo “A” a chave primária, diz-se que
“B” e “C” são dependentes transitivos se e somente
se, forem funcionalmente dependente de “A” além
de existir uma dependência funcional entre eles.
Exemplo dependência
Transitiva

1ª Forma Normal

 Uma entidade está na 1FN se ela não contém grupos
de atributos repetitivos (multi-valorados).
 Entidade não normalizada Pedido
Data_pedido, numero_cliente_nome_cliente
Endereco_cliente são funcinalmente dependentes
Do numero_pedido Nome_produdo,qtde_pedida, preco_produto,
Total_produto são dependentes do
numero_produto
1ª Forma Normal

2ª Forma Normal

 Uma entidade está na 2FN se ela está na 1FN e seus
atributos são funcionalmente dependentes de sua
chave (primária) completa.
2ª Forma Normal

3ª Forma Normal

 Uma entidade está na 3FN se ela está na 2FN e não
possui dependências transitivas. Uma entidade que
está na 2FN pode ter um atributo que não é uma
chave mas que por si identifica outros atributos.
Refere-se a isto como uma dependência transitiva.
3ª Forma Normal

Simplificação do processo de Normalização
A partir do diagrama de
dependências funcionais
podemos obter
directamente as entidades
na terceira forma normal.
Para isso, devemos
especificar uma entidade
para cada conjunto de setas
que o diagrama de
dependências. A chave
primária será formada pelos
atributos dos quais partem
as setas:


Regras Práticas



Se duas entidades possuírem a mesma chave de identificação:









Elas são a mesma entidade;
Seus atributos se complementam;
As suas ocorrências se complementam;

Quando um atributo ou um conjunto de atributos identificadores de uma
determinada entidade, for(em) também atributo(s) de uma outra entidade, deve
haver um relacionamento do tipo 1:N entre elas.
Atributos comuns a mais de uma entidade, devem ser, obrigatoriamente, chaves de
identificação em uma das entidades; caso contrário será uma simples redundância.
Nenhum atributo componente de uma chave primária deve poder assumir um valor
nulo. Decorre do fato de que todos os objetos que se quer representar devam ser
distinguíveis entre si.
Um atributo que seja chave estrangeira só pode assumir:



Valor nulo;
Valor para o qual exista uma ocorrência da entidade da qual ela é chave primária.
Exercicio

 FUNCIONARIO(Mat, Nome, DtNasc, Nacionalidad
e, Sexo, EstCivil, RG, CIC, Endereco, Tel, DtAdmissa
o,(Cargo, DtInicioCargo, DtFimCargo), (NomeDepen
dente, DtNascDependente))

Mais conteúdo relacionado

Semelhante a Base de Dados 1: Normalização, Formas Normais e Regras Práticas

Normalização Banco de Dados
Normalização Banco de DadosNormalização Banco de Dados
Normalização Banco de DadosKablo Skater Rail
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade RelacionamentoCris Fidelix
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamentoCarlos Melo
 
ModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdfModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdfValdeir7
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfCelestino24
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosjulianaveregue
 
Modelagem
ModelagemModelagem
Modelagemprsimon
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfedilson42986
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Iiguest3118b2
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Iiguest3118b2
 
Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdf
Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdfAula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdf
Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdfnosbisantos
 
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefBD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefRodrigo Kiyoshi Saito
 
ATRIBUTOS.pptx
ATRIBUTOS.pptxATRIBUTOS.pptx
ATRIBUTOS.pptxfabio20718
 
04 modelagem de dados introdução
04  modelagem de dados   introdução04  modelagem de dados   introdução
04 modelagem de dados introduçãoCentro Paula Souza
 
Jpa – Java Persistence Api
Jpa – Java Persistence ApiJpa – Java Persistence Api
Jpa – Java Persistence Apiguestf54162
 
Aulas de banco de dados
Aulas de banco de dadosAulas de banco de dados
Aulas de banco de dadosOseas_Lima
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de DadosFabio Abel
 

Semelhante a Base de Dados 1: Normalização, Formas Normais e Regras Práticas (20)

Normalização Banco de Dados
Normalização Banco de DadosNormalização Banco de Dados
Normalização Banco de Dados
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamento
 
ModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdfModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdf
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdf
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dados
 
Modelagem
ModelagemModelagem
Modelagem
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdf
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Ii
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Ii
 
03 mer2
03 mer203 mer2
03 mer2
 
Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdf
Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdfAula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdf
Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdf
 
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefBD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
 
Bd aula3
Bd aula3Bd aula3
Bd aula3
 
ATRIBUTOS.pptx
ATRIBUTOS.pptxATRIBUTOS.pptx
ATRIBUTOS.pptx
 
04 modelagem de dados introdução
04  modelagem de dados   introdução04  modelagem de dados   introdução
04 modelagem de dados introdução
 
MER
MERMER
MER
 
Jpa – Java Persistence Api
Jpa – Java Persistence ApiJpa – Java Persistence Api
Jpa – Java Persistence Api
 
Aulas de banco de dados
Aulas de banco de dadosAulas de banco de dados
Aulas de banco de dados
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 

Mais de Hélio Martins

Aula 9 insert, update e delete
Aula 9   insert, update e deleteAula 9   insert, update e delete
Aula 9 insert, update e deleteHélio Martins
 
Aula 8 select & joi ns
Aula 8   select & joi nsAula 8   select & joi ns
Aula 8 select & joi nsHélio Martins
 
Aula 6 sql - introdução
Aula 6   sql - introduçãoAula 6   sql - introdução
Aula 6 sql - introduçãoHélio Martins
 
Aula 4 modelo relacional
Aula 4   modelo relacionalAula 4   modelo relacional
Aula 4 modelo relacionalHélio Martins
 
Aula 3 modelagem de dados
Aula 3   modelagem de dadosAula 3   modelagem de dados
Aula 3 modelagem de dadosHélio Martins
 
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfisHélio Martins
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dadosHélio Martins
 
T aula6-criptografia-certificado e assinatura digital
T aula6-criptografia-certificado e assinatura digitalT aula6-criptografia-certificado e assinatura digital
T aula6-criptografia-certificado e assinatura digitalHélio Martins
 
Trab prático-iteracao1
Trab prático-iteracao1Trab prático-iteracao1
Trab prático-iteracao1Hélio Martins
 
P aula3-trb teorico 2-criptografia
P aula3-trb teorico 2-criptografiaP aula3-trb teorico 2-criptografia
P aula3-trb teorico 2-criptografiaHélio Martins
 
T aula5-criptografia-distribuição de chaves,
T aula5-criptografia-distribuição de chaves,T aula5-criptografia-distribuição de chaves,
T aula5-criptografia-distribuição de chaves,Hélio Martins
 
T aula4-introducao-criptografia
T aula4-introducao-criptografiaT aula4-introducao-criptografia
T aula4-introducao-criptografiaHélio Martins
 
T aula3-politicas de segurança
T aula3-politicas de segurançaT aula3-politicas de segurança
T aula3-politicas de segurançaHélio Martins
 
P aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacasP aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacasHélio Martins
 
T aula2-revisões bases e ip
T aula2-revisões bases e ipT aula2-revisões bases e ip
T aula2-revisões bases e ipHélio Martins
 
T aula1-apresentação
T aula1-apresentaçãoT aula1-apresentação
T aula1-apresentaçãoHélio Martins
 

Mais de Hélio Martins (18)

Aula 9 insert, update e delete
Aula 9   insert, update e deleteAula 9   insert, update e delete
Aula 9 insert, update e delete
 
Aula 8 select & joi ns
Aula 8   select & joi nsAula 8   select & joi ns
Aula 8 select & joi ns
 
Aula 7 sql - select
Aula 7   sql - selectAula 7   sql - select
Aula 7 sql - select
 
Aula 6 sql - introdução
Aula 6   sql - introduçãoAula 6   sql - introdução
Aula 6 sql - introdução
 
Aula 4 modelo relacional
Aula 4   modelo relacionalAula 4   modelo relacional
Aula 4 modelo relacional
 
Aula 3 modelagem de dados
Aula 3   modelagem de dadosAula 3   modelagem de dados
Aula 3 modelagem de dados
 
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfis
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dados
 
Aula 0 apresentação
Aula 0   apresentaçãoAula 0   apresentação
Aula 0 apresentação
 
T aula6-criptografia-certificado e assinatura digital
T aula6-criptografia-certificado e assinatura digitalT aula6-criptografia-certificado e assinatura digital
T aula6-criptografia-certificado e assinatura digital
 
Trab prático-iteracao1
Trab prático-iteracao1Trab prático-iteracao1
Trab prático-iteracao1
 
P aula3-trb teorico 2-criptografia
P aula3-trb teorico 2-criptografiaP aula3-trb teorico 2-criptografia
P aula3-trb teorico 2-criptografia
 
T aula5-criptografia-distribuição de chaves,
T aula5-criptografia-distribuição de chaves,T aula5-criptografia-distribuição de chaves,
T aula5-criptografia-distribuição de chaves,
 
T aula4-introducao-criptografia
T aula4-introducao-criptografiaT aula4-introducao-criptografia
T aula4-introducao-criptografia
 
T aula3-politicas de segurança
T aula3-politicas de segurançaT aula3-politicas de segurança
T aula3-politicas de segurança
 
P aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacasP aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacas
 
T aula2-revisões bases e ip
T aula2-revisões bases e ipT aula2-revisões bases e ip
T aula2-revisões bases e ip
 
T aula1-apresentação
T aula1-apresentaçãoT aula1-apresentação
T aula1-apresentação
 

Base de Dados 1: Normalização, Formas Normais e Regras Práticas

  • 2. Agenda         Anomalias Conceito de Normalização Dependências Funcional 1ª Forma Normal 2ª Forma Normal 3ª Forma Normal Regras Práticas
  • 3. Conceito de Normalização   Processo formal que consiste em substituir um conjunto de entidades por outro conjunto capaz de comportar melhor as mudanças futuras.  Entidades normalizadas não possuem redundâncias (duplicação de dados) acidental. Cada atributo está relacionado com sua própria entidade e não se mistura com atributos relativos à entidades diferentes.  A normalização corresponde na realidade à formalização de regras baseadas no fato que as entidades possuem anomalias de actualização.
  • 4. Anomalias de Actualização   Dada a entidade:  PEDIDO (numero_pedido + data_pedido + numero_cliente + nome_cliente + endereco_cliente + ( numero_produto + nome_produto + qtde_pedida +preco_produto + total_produto) + total_pedido)  Quais as anomalias de actualização que acontecerão se:     Um produto for descontinuado por seu fornecedor? O nome do produto for mudado? O cliente mudar de endereço? Os produtos ou as quantidades pedidas pelo cliente forem mudadas e o cliente esqueceu o número do pedido?
  • 5. Dependência Funcional   Dados os atributos “A” e “B” de uma entidade, dizse que “B” é funcionalmente dependente de “A” se e somente se, a cada valor de “A” está associado um único valor de “B”.  Em outras palavras, se conhecermos o valor de “A” então podemos encontrar o valor de “B” associado a ele.
  • 7. Dependência Funcional Composta ou Completa   Dado um atributo ou um conjunto de atributos “B” de uma entidade, sendo a chave primária composta por um conjunto de atributos “A”, diz-se que “B” é completamente dependente funcional da chave primária, se e somente se, a cada valor da chave (e não a parte dele), está associado um valor para cada atributo do conjunto “B”.
  • 8. Dependência Transitiva   Dados os atributos “A”, “B” e “C” de uma entidade, sendo “A” a chave primária, diz-se que “B” e “C” são dependentes transitivos se e somente se, forem funcionalmente dependente de “A” além de existir uma dependência funcional entre eles.
  • 10. 1ª Forma Normal   Uma entidade está na 1FN se ela não contém grupos de atributos repetitivos (multi-valorados).  Entidade não normalizada Pedido Data_pedido, numero_cliente_nome_cliente Endereco_cliente são funcinalmente dependentes Do numero_pedido Nome_produdo,qtde_pedida, preco_produto, Total_produto são dependentes do numero_produto
  • 12. 2ª Forma Normal   Uma entidade está na 2FN se ela está na 1FN e seus atributos são funcionalmente dependentes de sua chave (primária) completa.
  • 14. 3ª Forma Normal   Uma entidade está na 3FN se ela está na 2FN e não possui dependências transitivas. Uma entidade que está na 2FN pode ter um atributo que não é uma chave mas que por si identifica outros atributos. Refere-se a isto como uma dependência transitiva.
  • 16. Simplificação do processo de Normalização A partir do diagrama de dependências funcionais podemos obter directamente as entidades na terceira forma normal. Para isso, devemos especificar uma entidade para cada conjunto de setas que o diagrama de dependências. A chave primária será formada pelos atributos dos quais partem as setas: 
  • 17. Regras Práticas   Se duas entidades possuírem a mesma chave de identificação:        Elas são a mesma entidade; Seus atributos se complementam; As suas ocorrências se complementam; Quando um atributo ou um conjunto de atributos identificadores de uma determinada entidade, for(em) também atributo(s) de uma outra entidade, deve haver um relacionamento do tipo 1:N entre elas. Atributos comuns a mais de uma entidade, devem ser, obrigatoriamente, chaves de identificação em uma das entidades; caso contrário será uma simples redundância. Nenhum atributo componente de uma chave primária deve poder assumir um valor nulo. Decorre do fato de que todos os objetos que se quer representar devam ser distinguíveis entre si. Um atributo que seja chave estrangeira só pode assumir:   Valor nulo; Valor para o qual exista uma ocorrência da entidade da qual ela é chave primária.
  • 18. Exercicio   FUNCIONARIO(Mat, Nome, DtNasc, Nacionalidad e, Sexo, EstCivil, RG, CIC, Endereco, Tel, DtAdmissa o,(Cargo, DtInicioCargo, DtFimCargo), (NomeDepen dente, DtNascDependente))