SlideShare une entreprise Scribd logo
1  sur  13
Primeira Forma Normal
Banco de dados, por Vitor, Milton e Yuri
Introdução
 A normalização de dados é uma série de passos
que se seguem no projeto de um banco de dados,
que permitem um armazenamento consistente e um
eficiente acesso aos dados em bancos de dados
relacionais.
Definição
 Uma relação estará na primeira forma normal 1FN,
se não houver grupo de dados repetidos, isto é, se
todos os valores forem únicos. Em outras palavras
podemos definir que a primeira forma normal não
admite repetições ou campos que tenha mais que
um valor.
Passagem à 1FN
 Os procedimentos mais recomendados para aplicar
a 1FN são os seguintes:
a) Identificar a chave primária da entidade;
b) Identificar o grupo repetitivo e removê-lo da
entidade;
c) Criar uma nova entidade com a chave primária
da entidade anterior e o grupo repetitivo.
Exemplos de normalização de dados
utilizando 1FN
Exemplo 1
Cliente
 Código_cliente
 Nome
 * Telefone
 Endereço
os os clientes possuem Rua, CEP e Bairro, e essas informações estão na mesma célula
da tabela, logo ela não está na primeira forma normal. Para normalizar, deveremos
colocar cada informação em uma coluna diferente, como no exemplo a seguir:
Mesmo com o ajuste acima, a tabela ainda não está na primeira forma normal, pois
clientes com mais de um telefone e os valores estão em uma mesma célula. Para nor
será necessário criar uma nova tabela para armazenar os números dos telefones e o
campo-chave da tabela cliente.
Nesse exemplo foi gerado uma segunda entidade
para que a primeira forma normal fosse satisfeita,
contudo é importante ressaltar que nem sempre
encontramos banco de dados com tabelas
normalizadas. Existem casos onde as repetições
são poucas ou o cenário permite administrar as
repetições sem trazer grandes consequências.
Exemplo 2
 Considere um Pedido número 00001, para este
pedido se observarmos o formulário em papel
teremos muitos campos a considerar, contudo
usaremos apenas alguns para facilitar o
entendimento.
PEDIDOS = {COD_PEDIDO + CLIENTE +
VENDEDOR + ATENDENTE + PRODUTO + QUANT
+ VALOR}
COD_PEDI
DO
CLIENTE VENDEDOR ATENDENT
E
PRODUTO QUANT VALOR
00001 RAFAEL
SÁ
MARCO JOSIAS TENIS 1 50.00
00001 RAFAEL
SÁ
MARCO JOSIAS CINTO 2 80.00
00001 RAFAEL
SÁ
MARCO JOSIAS CARTEIR
A
1 35.00
Observe que para os dados do pedido 00001 lançados acima, apenas os atributos qu
estão em negrito SÃO ÚNICOS, pois não se diferem. Os demais atributos mudam, nã
cumprindo a 1FN onde os atributos devem ser atômicos, quer dizer únicos.
 Para testarmos um dos atributos e ter certeza que este é
atômico, podemos efetuar uma pergunta conforme o
exemplo abaixo:
 Podemos ter outro cliente para o pedido 00001? = Não.
Podemos ter apenas 1 cliente por pedido, sendo assim este
atributo é atômico único para 1 pedido.
 Podemos ter outro vendedor para o pedido 00001? = Não.
Podemos ter apenas 1 vendedor por pedido.
 Podemos ter outro produto para o pedido 00001? = Sim.
Podemos ter vários produtos para um pedido, sendo assim, os
campos aninhados devem ser extraídos para outra tabela.
Referências
 Luis.Blog “Primeira Forma Normal 1FN -
Normalização de dados” -
http://www.luis.blog.br/primeira-forma-normal-1fn-
normalizacao-de-dados.aspx
 Wikipédia “Normalização de dados” -
http://pt.wikipedia.org/wiki/Normaliza%C3%A7%C3%
A3o_de_dados
• Feito por José Vitor
Costa dos Santos
• Segundo ano do curso
técnico em Informática
e Comunicação turma I
• Professor Fernando
Amaro
• IFMA Campus Caxias
• Ano 2014
jvcscx@gmail.com

Contenu connexe

Tendances

Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosLeinylson Fontinele
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)Janynne Gomes
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoLeinylson Fontinele
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dadoselliando dias
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionaisalexculpado
 
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)Leinylson Fontinele
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade RelacionamentoCris Fidelix
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Leinylson Fontinele
 
Aula5 normalização
Aula5   normalizaçãoAula5   normalização
Aula5 normalizaçãoMatias Silva
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de DadosLeinylson Fontinele
 
Árvores Balanceadas AVL
Árvores Balanceadas AVLÁrvores Balanceadas AVL
Árvores Balanceadas AVLDaniel Maia
 

Tendances (20)

Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de Dados
 
Modelagem de dados
Modelagem de dados Modelagem de dados
Modelagem de dados
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - Apresentação
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dados
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Banco de dados aula 2
Banco de dados  aula 2Banco de dados  aula 2
Banco de dados aula 2
 
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
 
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento
 
Aula 2 banco de dados
Aula 2   banco de dadosAula 2   banco de dados
Aula 2 banco de dados
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
 
Aula5 normalização
Aula5   normalizaçãoAula5   normalização
Aula5 normalização
 
Modelo E-R
Modelo E-RModelo E-R
Modelo E-R
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
 
Árvores Balanceadas AVL
Árvores Balanceadas AVLÁrvores Balanceadas AVL
Árvores Balanceadas AVL
 

En vedette

Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalizaçãoTicianne Darin
 
Normalização em Banco de Dados
Normalização em Banco de DadosNormalização em Banco de Dados
Normalização em Banco de DadosDiolene Sampaio
 
Normalização básica
Normalização básicaNormalização básica
Normalização básicaNadia Habu
 
Utilizando software livre para alta disponibilidade de sistemas web Java
Utilizando software livre para alta disponibilidade de sistemas web JavaUtilizando software livre para alta disponibilidade de sistemas web Java
Utilizando software livre para alta disponibilidade de sistemas web JavaAdriel Viana
 
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRNHomologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRNEdmilson Júnior
 
Normalização - Alexandruk
Normalização - AlexandrukNormalização - Alexandruk
Normalização - AlexandrukHebert Alquimim
 
Apostila redes locais de computadores
Apostila redes locais de computadoresApostila redes locais de computadores
Apostila redes locais de computadoresfernandao777
 
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLEngenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLAlessandro Almeida
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareEduardo Santos
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLNatanael Simões
 
Princípios da qualidade em eventos
Princípios da qualidade em eventosPrincípios da qualidade em eventos
Princípios da qualidade em eventoscrrrs
 
Aritmetica Computacional
Aritmetica ComputacionalAritmetica Computacional
Aritmetica Computacionalelliando dias
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de softwareLeonardo Melo Santos
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
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
 
Resumo itil v3 para concursos
Resumo itil v3 para concursosResumo itil v3 para concursos
Resumo itil v3 para concursosFernando Palma
 

En vedette (20)

Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalização
 
Normalização em Banco de Dados
Normalização em Banco de DadosNormalização em Banco de Dados
Normalização em Banco de Dados
 
Normalização básica
Normalização básicaNormalização básica
Normalização básica
 
Utilizando software livre para alta disponibilidade de sistemas web Java
Utilizando software livre para alta disponibilidade de sistemas web JavaUtilizando software livre para alta disponibilidade de sistemas web Java
Utilizando software livre para alta disponibilidade de sistemas web Java
 
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRNHomologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
 
Normalização - Alexandruk
Normalização - AlexandrukNormalização - Alexandruk
Normalização - Alexandruk
 
VPN - Redes de Computadores
VPN - Redes de ComputadoresVPN - Redes de Computadores
VPN - Redes de Computadores
 
Dak Net
Dak NetDak Net
Dak Net
 
Apostila redes locais de computadores
Apostila redes locais de computadoresApostila redes locais de computadores
Apostila redes locais de computadores
 
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLEngenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de Software
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UML
 
Princípios da qualidade em eventos
Princípios da qualidade em eventosPrincípios da qualidade em eventos
Princípios da qualidade em eventos
 
Aritmetica Computacional
Aritmetica ComputacionalAritmetica Computacional
Aritmetica Computacional
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Daknet
DaknetDaknet
Daknet
 
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
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Resumo itil v3 para concursos
Resumo itil v3 para concursosResumo itil v3 para concursos
Resumo itil v3 para concursos
 

Normalização de dados - Primeira forma normal

  • 1. Primeira Forma Normal Banco de dados, por Vitor, Milton e Yuri
  • 2. Introdução  A normalização de dados é uma série de passos que se seguem no projeto de um banco de dados, que permitem um armazenamento consistente e um eficiente acesso aos dados em bancos de dados relacionais.
  • 3. Definição  Uma relação estará na primeira forma normal 1FN, se não houver grupo de dados repetidos, isto é, se todos os valores forem únicos. Em outras palavras podemos definir que a primeira forma normal não admite repetições ou campos que tenha mais que um valor.
  • 4. Passagem à 1FN  Os procedimentos mais recomendados para aplicar a 1FN são os seguintes: a) Identificar a chave primária da entidade; b) Identificar o grupo repetitivo e removê-lo da entidade; c) Criar uma nova entidade com a chave primária da entidade anterior e o grupo repetitivo.
  • 5. Exemplos de normalização de dados utilizando 1FN
  • 6. Exemplo 1 Cliente  Código_cliente  Nome  * Telefone  Endereço os os clientes possuem Rua, CEP e Bairro, e essas informações estão na mesma célula da tabela, logo ela não está na primeira forma normal. Para normalizar, deveremos colocar cada informação em uma coluna diferente, como no exemplo a seguir:
  • 7. Mesmo com o ajuste acima, a tabela ainda não está na primeira forma normal, pois clientes com mais de um telefone e os valores estão em uma mesma célula. Para nor será necessário criar uma nova tabela para armazenar os números dos telefones e o campo-chave da tabela cliente.
  • 8. Nesse exemplo foi gerado uma segunda entidade para que a primeira forma normal fosse satisfeita, contudo é importante ressaltar que nem sempre encontramos banco de dados com tabelas normalizadas. Existem casos onde as repetições são poucas ou o cenário permite administrar as repetições sem trazer grandes consequências.
  • 9. Exemplo 2  Considere um Pedido número 00001, para este pedido se observarmos o formulário em papel teremos muitos campos a considerar, contudo usaremos apenas alguns para facilitar o entendimento. PEDIDOS = {COD_PEDIDO + CLIENTE + VENDEDOR + ATENDENTE + PRODUTO + QUANT + VALOR}
  • 10. COD_PEDI DO CLIENTE VENDEDOR ATENDENT E PRODUTO QUANT VALOR 00001 RAFAEL SÁ MARCO JOSIAS TENIS 1 50.00 00001 RAFAEL SÁ MARCO JOSIAS CINTO 2 80.00 00001 RAFAEL SÁ MARCO JOSIAS CARTEIR A 1 35.00 Observe que para os dados do pedido 00001 lançados acima, apenas os atributos qu estão em negrito SÃO ÚNICOS, pois não se diferem. Os demais atributos mudam, nã cumprindo a 1FN onde os atributos devem ser atômicos, quer dizer únicos.
  • 11.  Para testarmos um dos atributos e ter certeza que este é atômico, podemos efetuar uma pergunta conforme o exemplo abaixo:  Podemos ter outro cliente para o pedido 00001? = Não. Podemos ter apenas 1 cliente por pedido, sendo assim este atributo é atômico único para 1 pedido.  Podemos ter outro vendedor para o pedido 00001? = Não. Podemos ter apenas 1 vendedor por pedido.  Podemos ter outro produto para o pedido 00001? = Sim. Podemos ter vários produtos para um pedido, sendo assim, os campos aninhados devem ser extraídos para outra tabela.
  • 12. Referências  Luis.Blog “Primeira Forma Normal 1FN - Normalização de dados” - http://www.luis.blog.br/primeira-forma-normal-1fn- normalizacao-de-dados.aspx  Wikipédia “Normalização de dados” - http://pt.wikipedia.org/wiki/Normaliza%C3%A7%C3% A3o_de_dados
  • 13. • Feito por José Vitor Costa dos Santos • Segundo ano do curso técnico em Informática e Comunicação turma I • Professor Fernando Amaro • IFMA Campus Caxias • Ano 2014 jvcscx@gmail.com