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

Aula04 3

  • 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écnicasUtilizadas 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 deNormalizaçã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 deNormalizaçã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 deNormalizaçã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 deNormalizaçã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 deNormalizaçã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