SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Downloaden Sie, um offline zu lesen
CURSO DE GRADUAÇÃO
                      e
           DE PÓS-GRADUAÇÃO DO ITA

                  1º SEMESTRE 2002



CES-30 Técnicas de Banco de Dados - BD
                      e
       CE-240 Projeto de Sistema de BD


       A Técnica de Normalização
         de Banco de Dados (1)


           CES-30 / CE-240 - A. M. Cunha             4.3. 1




Revendo Alguns Conceitos Básicos -

   Ontem:

   •    Sistemas de Gerenciamento de Arquivos.


  Hoje:
  • Sistemas de Banco de Dados -
          * Banco de Dados = Coleção de Arquivos;
          * Arquivo = Coleção de Registros;
          * Registro = Coleção de Campos (Tuplas);
          * Campo = Coleção de Caracteres; e
          * Caracter = Alfa-numéricos ou símbolos.



           CES-30 / CE-240 - A. M. Cunha             4.3. 2
Alguns Conceitos Importantes

    MODIFICAÇÕES/ALTERAÇÕES/ATUALIZAÇÕES
    Conceitos que têm sido utilizados por diferentes autores e
    fabricantes de Softwares Básicos e de Aplicação de maneiras
    diversas;
    Esses termos têm sido utilizados basicamente para associar
    operações de Exclusão e Inclusão em Arquivos ou Registros;


    OCORRÊNCIAS DE CAMPO = INSTÂNCIAS

    Conceito de Valor associado a um determinado campo de
    um registro num determinado instante de tempo,
    ou numa instância.



                       CES-30 / CE-240 - A. M. Cunha                         4.3. 3




      DEFEITOS, ERROS e FALHAS nos Sistemas SOFTWARE

  DEFEITO (FAULT)                  ERRO (ERROR)                   FALHA




                                                          Inabilidade de um
  Imperfeição                   Manifestação
                                                          Software Cumprir
  ou Anomalia                    Física de
                                                              Requisitos
   Existente                     um Defeito
                                                             Operacionais


Uma Imperfeição ou                                     A Inabilidade de um Software
Anomalia Existente                 A manifestação
                                                       cumprir a Especificação de
no Código-Fonte de                 Física de um
                                                       Requisitos Operacionais
um Programa, que                   Defeito, que
                                                       de sua responsabilidade, ou a
ao ser ativada, pode               pode gerar
                                                       habilidade dele produzir
produzir um Erro.                  uma Falha.
                                                       Efeitos Indesejados.
                       CES-30 / CE-240 - A. M. Cunha                         4.3. 4
As 20 Técnicas Utilizadas em Projetos de Sistemas de BD

        As 9 (nove) Técnicas utilizadas nas Fases Iniciais (Análise e Projeto Lógico
de BD) do Desenvolvimento de Sistemas de Banco de Dados são:
                 1) Contextualização;
                 2) Objetivação;
                 3) Intitulação;
                 4) Especificação de Requisitos;
                 5) Normalização;
                 6) Modelagem;
                 7) Trigramação;
                 8) Dicionarização; e
                 9) Auditoria das Fases de Análise e de Projeto Lógico para os
                 Projetos de Sistemas de Banco de Dados.

       Até o momento foram utilizadas apenas as quatro primeiras Técnicas para o
Desenvolvimento de Projetos de Sistemas de Banco de Dados.

        A seguir, serão apresentadas: a 5a Técnica de Normalização e a
6a Técnica de Modelagem.

                              CES-30 / CE-240 - A. M. Cunha                                    4.3. 5




 As 20 Técnicas Utilizadas em Projetos de Sistemas de BD
           As 11 (onze) Técnicas restantes utilizadas nas demais Fases (Projeto Implementação e
Testes) do Desenvolvimento de Projetos de Sistemas de BD são:
     10) Projeto Físico de BD - Criação da Estrutura do Aplicativo de BD em
        Linguagem de Definição de Dados – LDD (Data Definition Language – DDL);
     11) Implementação do Aplicativo e sua Massa de Dados - em Linguagem de
         Manipulação de Dados – LMD (Data Manipulation Language – DML);
     12) Testes e 1º Nível de Integração do Modelo de Dados do Aplicativo – MDA
         (Application Data Model – ADM), por meio de Consultas Operacionais;
     13) Conversão para os Modelos Hierárquico, Rede e Orientado à Objetos;
     14) Renormalização, Remodelagem e Redicionarização para o 2º Nível de
        Integração do Modelo de Dados Setorial – MDS (Subject Data Model –SDM);
     15) Testes e 2º Nível de Integração do MDS, por meio de Consultas Táticas;
     16) Renormalização, Remodelagem e Redicionarização para o 3º Nível de Integração do
         Modelo de Dados Corporativo – MDC (Corporate Data Model – CDM);
     17) Testes e 3º Nível de Integração do MDC, por meio de Consultas Estratégicas;
     18) Verificação e Validação do BD Corporativo – BDC num Estudos de Caso Corporativo;
     19) Renormalização, Remodelagem e Redicionarização para o 4º Nível de Integração do
         Modelo de Dados Holding – MDH (Holding Data Model – HDM); e
     20) Testes e 4º Nível de Integração do MDH, por meio de Consultas Estratégicas / Mission Driving,
         envolvendo o Merge de Empresas Corporativas, Jogos de Empresas ou Jogos de Guerra.



                              CES-30 / CE-240 - A. M. Cunha                                    4.3. 6
A Técnica de Normalização (1):


    Diversos Conceitos apresentados sobre este assunto

    foram retirados no seu todo ou em parte do Livro

    “Projeto de Banco de Dados: Uma Visão Prática”,

    de Machado, F. N. R. e Abreu, M. P., Editora Érica,

    1995, Capítulo 12, Normalização.




              CES-30 / CE-240 - A. M. Cunha               4.3. 7




       A Técnica de Normalização (2):

• O Conceito de Normalização foi introduzido por E. F.
  Codd em 1970, como Primeira Forma Normal - 1FN;


• A Normalização é uma Técnica, que consiste de um
 Processo Matemático Formal fundamentado na
 Teoria dos Conjuntos;

• Através do Processo Matemático da Normalização,
 pode-se substituir, gradativamente, um conjunto de
 Entidades e Relacionamentos por um outro, mais
 “adequado”, em relação a Anomalias de Atualização
 (Inclusão, Alteração e Exclusão);


              CES-30 / CE-240 - A. M. Cunha               4.3. 8
A Técnica de Normalização (3):
• Anomalias de Atualização em um Banco de Dados podem
  causar problemas tais como a ocorrência de: grupos
  repetitivos de dados; dependências parciais de chave;
  redundâncias desnecessárias de dados; perdas acidentais de
  informações; dificuldades de representações de fatos da
  realidades (modelos); e dependências transitivas entre
  atributos;

• Todas essas dificuldades podem ser reduzidas ou
  minimizadas através do uso da Técnica de Normalização; e

• A utilização da Técnica de Normalização torna o Modelo
  de Dados, que se estiver utilizando, bastante estável, isto é,
  sujeito a poucas Manutenções.

                  CES-30 / CE-240 - A. M. Cunha                     4.3. 9




           A Técnica de Normalização (4):

    • Exemplos de Anomalias de Atualização contidas num
      FORMULÁRIO DE PEDIDOS DE MATERIAL, quando ele

      dá origem a uma Entidade PEDIDO, que mais tarde é

      implementada como uma Tabela num Banco de Dados

      Modelo Relacional, de um SISTEMA DE VENDAS;


    • Essas Anomalias podem ser de 3 tipos: de Inclusão;
      de Exclusão; ou de Alteração;




                  CES-30 / CE-240 - A. M. Cunha                    4.3. 10
A Técnica de Normalização (5):

       • Anomalia de Inclusão - Ao ser incluído um novo Cliente,
         ele tem que estar relacionado com uma Venda;


       • Anomalia de Exclusão - Ao ser excluído um Cliente, os
         dados referentes as suas Compras poderão ser perdidos;


       • Anomalia de Alteração - Caso algum Fabricante de
         Produto altere a faixa de preço de uma determinada
         Classe de Produtos, será preciso percorrer toda a
         Entidade para se realizar múltiplas alterações;




                     CES-30 / CE-240 - A. M. Cunha                 4.3. 11




              A Técnica de Normalização (6):

•    Projetar um Banco de Dados Relacional não é uma questão
     de especificar um conjunto de Tabelas, que contém todos
     os atributos requeridos;



• Alguns Projetos de Banco de Dados funcionam muito melhor
      que outros, para uma mesma Aplicação de Banco de Dados;



    • A Técnica de Normalização refere -se ao Processo de conversão
      de um Banco de Dados Modelo Relacional arbitrário em outro

      com boas propriedades operacionais;



                     CES-30 / CE-240 - A. M. Cunha                 4.3. 12
A Técnica de Normalização (7):

       • Lições aprendidas com Análises de Normalizações
         de BDs Modelos Relacionais têm sido empregadas
         também para melhorar Projetos de BD de Modelos
         Rede e Hierárquico;

      • A Normalização tem por objetivo produzir um
        Projeto de BD capaz de ser manipulado, cada vez
        mais, como um simples conjunto de operações,
        visando minimizar anomalias e inconsistências
        de dados .


                     CES-30 / CE-240 - A. M. Cunha             4.3. 13




            A Técnica de Normalização (8):

è A Teoria da Normalização é tradicionalmente expressa através de
  um Conjunto de Formas Normais, que progressivamente
  otimizam as estruturas e os conteúdos das relações;

è Considerando-se, por exemplo, um Projeto simples de um
  Aplicativo de Banco de Dados Modelo Relacional para
   Catalogação de Livros em uma Biblioteca;


è Logicamente, poderá existir um grande e único Registro
   (uma Tupla), para cada Volume de Livro, contendo diversos
   campos, como mostrado a seguir;




                     CES-30 / CE-240 - A. M. Cunha             4.3. 14
A Técnica de Normalização (9):
è Logicamente, a este grande e único Registro ou Tuple, para cada
  Volume de Livro, pode-se chamar de Catálogo:

     0NF




 CATALOGO {num_chamada, titulo, autor, editora, cidade_edit,
           num_associado, data_de_devolucao }



 Observação: O num_associado refere-se a quem pega
             emprestado os livros.



                     CES-30 / CE-240 - A. M. Cunha             4.3. 15




             Primeira Forma Normal – 1FN:

4 Diz-se que uma Relação está na 1FN, quando todos os seus
  registros possuem o mesmo conjunto de atributos, e esses atributos
  são atômicos, isto é, são itens indivisíveis.
4 O Modelo de Banco de Dados Relacional permite valores nulos
  apenas para atributos que não sejam chave.



    1FN


  CATALOGO {num_catalogo, num_copia, titulo, autor, editora,
            cidade_edit, num_associado, data_de_devolucao }




                     CES-30 / CE-240 - A. M. Cunha             4.3. 16
Primeira Forma Normal – 1FN:
     0FN

 CATALOGO {num_chamada, titulo, autor, editora, cidade_edit,
           num_associado, data_de_devolucao }

     1FN

 CATALOGO {num_catalogo, num_copia, titulo, autor, editora,
           cidade_edit, num_associado, data_de_devolucao }

X Note-se que a chave agora consiste de dois atributos, nenhum deles
  sozinho consegue identificar totalmente um registro do Catálogo, mas
  só a combinação dos dois atributos é capaz de identificar o registro.
X Diz-se que esta relação encontra-se na 1FN, mas ainda contém algumas
  características indesejáveis, que podem causar dificuldades no uso.
X Esta relação na 1FN contém Anomalias de Atualização e de Exclusão.
                      CES-30 / CE-240 - A. M. Cunha                4.3. 17

Weitere ähnliche Inhalte

Was ist angesagt?

Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...Thiago Fraga
 
Banco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e RefatoraçãoBanco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e Refatoraçãoelliando dias
 
Apresentação monografia - Proposta de uma Arquitetura para Customização de Si...
Apresentação monografia - Proposta de uma Arquitetura para Customização de Si...Apresentação monografia - Proposta de uma Arquitetura para Customização de Si...
Apresentação monografia - Proposta de uma Arquitetura para Customização de Si...Charles Fortes
 
GCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisGCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisMisael Santos
 
Especificação de requisitos
Especificação de requisitosEspecificação de requisitos
Especificação de requisitosFernando Palma
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Rosanete Grassiani dos Santos
 
Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Andre Bretas
 
Slide apresentação CMMI-TOGAF
Slide apresentação CMMI-TOGAFSlide apresentação CMMI-TOGAF
Slide apresentação CMMI-TOGAFEdton Lemos
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitoselliando dias
 
Engenharia de software apostila analise de requisitos i
Engenharia de software   apostila analise de requisitos iEngenharia de software   apostila analise de requisitos i
Engenharia de software apostila analise de requisitos irobinhoct
 

Was ist angesagt? (20)

O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012
 
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
 
Banco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e RefatoraçãoBanco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e Refatoração
 
Apresentação monografia - Proposta de uma Arquitetura para Customização de Si...
Apresentação monografia - Proposta de uma Arquitetura para Customização de Si...Apresentação monografia - Proposta de uma Arquitetura para Customização de Si...
Apresentação monografia - Proposta de uma Arquitetura para Customização de Si...
 
GCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisGCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos Principais
 
Especificação de requisitos
Especificação de requisitosEspecificação de requisitos
Especificação de requisitos
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
Es 09
Es 09Es 09
Es 09
 
Sistema Planejamento
Sistema PlanejamentoSistema Planejamento
Sistema Planejamento
 
Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
Es06 teste de software
Es06   teste de softwareEs06   teste de software
Es06 teste de software
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
 
Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0
 
Engenharia de Software - Pontos de função
Engenharia de Software - Pontos de funçãoEngenharia de Software - Pontos de função
Engenharia de Software - Pontos de função
 
Tecnologia totvs rm rev.8
Tecnologia totvs rm   rev.8Tecnologia totvs rm   rev.8
Tecnologia totvs rm rev.8
 
Análise por Pontos de Função
Análise por Pontos de FunçãoAnálise por Pontos de Função
Análise por Pontos de Função
 
Slide apresentação CMMI-TOGAF
Slide apresentação CMMI-TOGAFSlide apresentação CMMI-TOGAF
Slide apresentação CMMI-TOGAF
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Engenharia de software apostila analise de requisitos i
Engenharia de software   apostila analise de requisitos iEngenharia de software   apostila analise de requisitos i
Engenharia de software apostila analise de requisitos i
 
Documento de requisitos
Documento de requisitosDocumento de requisitos
Documento de requisitos
 

Andere mochten auch

Makanan tradisional presentasion
Makanan tradisional presentasionMakanan tradisional presentasion
Makanan tradisional presentasionIsmail Fajar
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
 
The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...Brian Solis
 
Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source CreativitySara Cannon
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)maditabalnco
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsBarry Feldman
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome EconomyHelge Tennø
 

Andere mochten auch (8)

Makanan tradisional presentasion
Makanan tradisional presentasionMakanan tradisional presentasion
Makanan tradisional presentasion
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 
The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...
 
Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source Creativity
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 

Ähnlich wie Técnicas de normalização de banco de dados e modelagem

Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...
Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...
Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...Marcelo Schumacher
 
Database Refactoring PostgreSQL Urcamp Alegrete 2009
Database Refactoring PostgreSQL Urcamp Alegrete 2009Database Refactoring PostgreSQL Urcamp Alegrete 2009
Database Refactoring PostgreSQL Urcamp Alegrete 2009Fabrízio Mello
 
Katálysis - Webshow - Automação Laboratorial V
Katálysis - Webshow - Automação Laboratorial VKatálysis - Webshow - Automação Laboratorial V
Katálysis - Webshow - Automação Laboratorial VKatálysis Científica
 
Refatoração Banco de Dados (Agileweekend2009)
Refatoração Banco de Dados (Agileweekend2009)Refatoração Banco de Dados (Agileweekend2009)
Refatoração Banco de Dados (Agileweekend2009)Fabrízio Mello
 
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosProdemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosGustavo Lopes
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Finaljcaroso
 
Database refactoring postgresql_consegi2010
Database refactoring postgresql_consegi2010Database refactoring postgresql_consegi2010
Database refactoring postgresql_consegi2010Fabrízio Mello
 
Database Refactoring com PostgreSQL PGDay RS 2009
Database Refactoring com PostgreSQL PGDay RS 2009Database Refactoring com PostgreSQL PGDay RS 2009
Database Refactoring com PostgreSQL PGDay RS 2009Fabrízio Mello
 
Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Erivelton Silva Rocha
 

Ähnlich wie Técnicas de normalização de banco de dados e modelagem (20)

Artc 1249307788 43
Artc 1249307788 43Artc 1249307788 43
Artc 1249307788 43
 
Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...
Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...
Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Database Refactoring PostgreSQL Urcamp Alegrete 2009
Database Refactoring PostgreSQL Urcamp Alegrete 2009Database Refactoring PostgreSQL Urcamp Alegrete 2009
Database Refactoring PostgreSQL Urcamp Alegrete 2009
 
Aula 02
Aula 02Aula 02
Aula 02
 
Modelagem 16102006
Modelagem 16102006Modelagem 16102006
Modelagem 16102006
 
Katálysis - Webshow - Automação Laboratorial V
Katálysis - Webshow - Automação Laboratorial VKatálysis - Webshow - Automação Laboratorial V
Katálysis - Webshow - Automação Laboratorial V
 
Refatoração Banco de Dados (Agileweekend2009)
Refatoração Banco de Dados (Agileweekend2009)Refatoração Banco de Dados (Agileweekend2009)
Refatoração Banco de Dados (Agileweekend2009)
 
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosProdemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Trabalho PI I
Trabalho PI ITrabalho PI I
Trabalho PI I
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Sql01 final
Sql01 finalSql01 final
Sql01 final
 
RAD
RADRAD
RAD
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Final
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
 
Database refactoring postgresql_consegi2010
Database refactoring postgresql_consegi2010Database refactoring postgresql_consegi2010
Database refactoring postgresql_consegi2010
 
Database Refactoring com PostgreSQL PGDay RS 2009
Database Refactoring com PostgreSQL PGDay RS 2009Database Refactoring com PostgreSQL PGDay RS 2009
Database Refactoring com PostgreSQL PGDay RS 2009
 
Webshow - Automação Laboratorial I
Webshow - Automação Laboratorial IWebshow - Automação Laboratorial I
Webshow - Automação Laboratorial I
 
Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1
 

Técnicas de normalização de banco de dados e modelagem

  • 1. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA 1º SEMESTRE 2002 CES-30 Técnicas de Banco de Dados - BD e CE-240 Projeto de Sistema de BD A Técnica de Normalização de Banco de Dados (1) CES-30 / CE-240 - A. M. Cunha 4.3. 1 Revendo Alguns Conceitos Básicos - Ontem: • Sistemas de Gerenciamento de Arquivos. Hoje: • Sistemas de Banco de Dados - * Banco de Dados = Coleção de Arquivos; * Arquivo = Coleção de Registros; * Registro = Coleção de Campos (Tuplas); * Campo = Coleção de Caracteres; e * Caracter = Alfa-numéricos ou símbolos. CES-30 / CE-240 - A. M. Cunha 4.3. 2
  • 2. Alguns Conceitos Importantes MODIFICAÇÕES/ALTERAÇÕES/ATUALIZAÇÕES Conceitos que têm sido utilizados por diferentes autores e fabricantes de Softwares Básicos e de Aplicação de maneiras diversas; Esses termos têm sido utilizados basicamente para associar operações de Exclusão e Inclusão em Arquivos ou Registros; OCORRÊNCIAS DE CAMPO = INSTÂNCIAS Conceito de Valor associado a um determinado campo de um registro num determinado instante de tempo, ou numa instância. CES-30 / CE-240 - A. M. Cunha 4.3. 3 DEFEITOS, ERROS e FALHAS nos Sistemas SOFTWARE DEFEITO (FAULT) ERRO (ERROR) FALHA Inabilidade de um Imperfeição Manifestação Software Cumprir ou Anomalia Física de Requisitos Existente um Defeito Operacionais Uma Imperfeição ou A Inabilidade de um Software Anomalia Existente A manifestação cumprir a Especificação de no Código-Fonte de Física de um Requisitos Operacionais um Programa, que Defeito, que de sua responsabilidade, ou a ao ser ativada, pode pode gerar habilidade dele produzir produzir um Erro. uma Falha. Efeitos Indesejados. CES-30 / CE-240 - A. M. Cunha 4.3. 4
  • 3. As 20 Técnicas Utilizadas em Projetos de Sistemas de BD As 9 (nove) Técnicas utilizadas nas Fases Iniciais (Análise e Projeto Lógico de BD) do Desenvolvimento de Sistemas de Banco de Dados são: 1) Contextualização; 2) Objetivação; 3) Intitulação; 4) Especificação de Requisitos; 5) Normalização; 6) Modelagem; 7) Trigramação; 8) Dicionarização; e 9) Auditoria das Fases de Análise e de Projeto Lógico para os Projetos de Sistemas de Banco de Dados. Até o momento foram utilizadas apenas as quatro primeiras Técnicas para o Desenvolvimento de Projetos de Sistemas de Banco de Dados. A seguir, serão apresentadas: a 5a Técnica de Normalização e a 6a Técnica de Modelagem. CES-30 / CE-240 - A. M. Cunha 4.3. 5 As 20 Técnicas Utilizadas em Projetos de Sistemas de BD As 11 (onze) Técnicas restantes utilizadas nas demais Fases (Projeto Implementação e Testes) do Desenvolvimento de Projetos de Sistemas de BD são: 10) Projeto Físico de BD - Criação da Estrutura do Aplicativo de BD em Linguagem de Definição de Dados – LDD (Data Definition Language – DDL); 11) Implementação do Aplicativo e sua Massa de Dados - em Linguagem de Manipulação de Dados – LMD (Data Manipulation Language – DML); 12) Testes e 1º Nível de Integração do Modelo de Dados do Aplicativo – MDA (Application Data Model – ADM), por meio de Consultas Operacionais; 13) Conversão para os Modelos Hierárquico, Rede e Orientado à Objetos; 14) Renormalização, Remodelagem e Redicionarização para o 2º Nível de Integração do Modelo de Dados Setorial – MDS (Subject Data Model –SDM); 15) Testes e 2º Nível de Integração do MDS, por meio de Consultas Táticas; 16) Renormalização, Remodelagem e Redicionarização para o 3º Nível de Integração do Modelo de Dados Corporativo – MDC (Corporate Data Model – CDM); 17) Testes e 3º Nível de Integração do MDC, por meio de Consultas Estratégicas; 18) Verificação e Validação do BD Corporativo – BDC num Estudos de Caso Corporativo; 19) Renormalização, Remodelagem e Redicionarização para o 4º Nível de Integração do Modelo de Dados Holding – MDH (Holding Data Model – HDM); e 20) Testes e 4º Nível de Integração do MDH, por meio de Consultas Estratégicas / Mission Driving, envolvendo o Merge de Empresas Corporativas, Jogos de Empresas ou Jogos de Guerra. CES-30 / CE-240 - A. M. Cunha 4.3. 6
  • 4. A Técnica de Normalização (1): Diversos Conceitos apresentados sobre este assunto foram retirados no seu todo ou em parte do Livro “Projeto de Banco de Dados: Uma Visão Prática”, de Machado, F. N. R. e Abreu, M. P., Editora Érica, 1995, Capítulo 12, Normalização. CES-30 / CE-240 - A. M. Cunha 4.3. 7 A Técnica de Normalização (2): • O Conceito de Normalização foi introduzido por E. F. Codd em 1970, como Primeira Forma Normal - 1FN; • A Normalização é uma Técnica, que consiste de um Processo Matemático Formal fundamentado na Teoria dos Conjuntos; • Através do Processo Matemático da Normalização, pode-se substituir, gradativamente, um conjunto de Entidades e Relacionamentos por um outro, mais “adequado”, em relação a Anomalias de Atualização (Inclusão, Alteração e Exclusão); CES-30 / CE-240 - A. M. Cunha 4.3. 8
  • 5. A Técnica de Normalização (3): • Anomalias de Atualização em um Banco de Dados podem causar problemas tais como a ocorrência de: grupos repetitivos de dados; dependências parciais de chave; redundâncias desnecessárias de dados; perdas acidentais de informações; dificuldades de representações de fatos da realidades (modelos); e dependências transitivas entre atributos; • Todas essas dificuldades podem ser reduzidas ou minimizadas através do uso da Técnica de Normalização; e • A utilização da Técnica de Normalização torna o Modelo de Dados, que se estiver utilizando, bastante estável, isto é, sujeito a poucas Manutenções. CES-30 / CE-240 - A. M. Cunha 4.3. 9 A Técnica de Normalização (4): • Exemplos de Anomalias de Atualização contidas num FORMULÁRIO DE PEDIDOS DE MATERIAL, quando ele dá origem a uma Entidade PEDIDO, que mais tarde é implementada como uma Tabela num Banco de Dados Modelo Relacional, de um SISTEMA DE VENDAS; • Essas Anomalias podem ser de 3 tipos: de Inclusão; de Exclusão; ou de Alteração; CES-30 / CE-240 - A. M. Cunha 4.3. 10
  • 6. A Técnica de Normalização (5): • Anomalia de Inclusão - Ao ser incluído um novo Cliente, ele tem que estar relacionado com uma Venda; • Anomalia de Exclusão - Ao ser excluído um Cliente, os dados referentes as suas Compras poderão ser perdidos; • Anomalia de Alteração - Caso algum Fabricante de Produto altere a faixa de preço de uma determinada Classe de Produtos, será preciso percorrer toda a Entidade para se realizar múltiplas alterações; CES-30 / CE-240 - A. M. Cunha 4.3. 11 A Técnica de Normalização (6): • Projetar um Banco de Dados Relacional não é uma questão de especificar um conjunto de Tabelas, que contém todos os atributos requeridos; • Alguns Projetos de Banco de Dados funcionam muito melhor que outros, para uma mesma Aplicação de Banco de Dados; • A Técnica de Normalização refere -se ao Processo de conversão de um Banco de Dados Modelo Relacional arbitrário em outro com boas propriedades operacionais; CES-30 / CE-240 - A. M. Cunha 4.3. 12
  • 7. A Técnica de Normalização (7): • Lições aprendidas com Análises de Normalizações de BDs Modelos Relacionais têm sido empregadas também para melhorar Projetos de BD de Modelos Rede e Hierárquico; • A Normalização tem por objetivo produzir um Projeto de BD capaz de ser manipulado, cada vez mais, como um simples conjunto de operações, visando minimizar anomalias e inconsistências de dados . CES-30 / CE-240 - A. M. Cunha 4.3. 13 A Técnica de Normalização (8): è A Teoria da Normalização é tradicionalmente expressa através de um Conjunto de Formas Normais, que progressivamente otimizam as estruturas e os conteúdos das relações; è Considerando-se, por exemplo, um Projeto simples de um Aplicativo de Banco de Dados Modelo Relacional para Catalogação de Livros em uma Biblioteca; è Logicamente, poderá existir um grande e único Registro (uma Tupla), para cada Volume de Livro, contendo diversos campos, como mostrado a seguir; CES-30 / CE-240 - A. M. Cunha 4.3. 14
  • 8. A Técnica de Normalização (9): è Logicamente, a este grande e único Registro ou Tuple, para cada Volume de Livro, pode-se chamar de Catálogo: 0NF CATALOGO {num_chamada, titulo, autor, editora, cidade_edit, num_associado, data_de_devolucao } Observação: O num_associado refere-se a quem pega emprestado os livros. CES-30 / CE-240 - A. M. Cunha 4.3. 15 Primeira Forma Normal – 1FN: 4 Diz-se que uma Relação está na 1FN, quando todos os seus registros possuem o mesmo conjunto de atributos, e esses atributos são atômicos, isto é, são itens indivisíveis. 4 O Modelo de Banco de Dados Relacional permite valores nulos apenas para atributos que não sejam chave. 1FN CATALOGO {num_catalogo, num_copia, titulo, autor, editora, cidade_edit, num_associado, data_de_devolucao } CES-30 / CE-240 - A. M. Cunha 4.3. 16
  • 9. Primeira Forma Normal – 1FN: 0FN CATALOGO {num_chamada, titulo, autor, editora, cidade_edit, num_associado, data_de_devolucao } 1FN CATALOGO {num_catalogo, num_copia, titulo, autor, editora, cidade_edit, num_associado, data_de_devolucao } X Note-se que a chave agora consiste de dois atributos, nenhum deles sozinho consegue identificar totalmente um registro do Catálogo, mas só a combinação dos dois atributos é capaz de identificar o registro. X Diz-se que esta relação encontra-se na 1FN, mas ainda contém algumas características indesejáveis, que podem causar dificuldades no uso. X Esta relação na 1FN contém Anomalias de Atualização e de Exclusão. CES-30 / CE-240 - A. M. Cunha 4.3. 17