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