der normalizaÇÃo de dados - deinf.ufma.brmaria/arqan/2012-1/cap6-der-normalizacao.pdf · codd...
TRANSCRIPT
Profa. Maria Auxiliadora 1
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
DER
NORMALIZAÇÃO DE DADOS
Profa. Maria Auxiliadora 2
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
é um conjunto de limitações impostas a uma estrutura de dados para que a mesma fique mais concisa e sem falhas estruturais. Codd 1970 DATE 3FN ( aperfeiçoada ) FAGIN 4FN e 5FN surgiram em 1977.
NORMALIZAÇÃO DE DADOS
Profa. Maria Auxiliadora 3
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
PROPOSTA DE CODD
• Primeira Forma Normal (1FN))
• Segunda Forma Normal (2FN)
• Terceira Forma Normal (3FN)
NORMALIZAÇÃO DE DADOS
Profa. Maria Auxiliadora 4
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
Os três principais casos de anomalias : • Grupo Repetitivo • Dependência Funcional Parcial
• Dependência Transitiva
Profa. Maria Auxiliadora 5
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
Primeira forma normal (1NF) A primeira forma normal diz que atributos de uma entidade que tem características de armazenamento de vários valores, devem gerar uma nova entidade (ou ser extraído para outra entidade já existente) de dados relacionada a entidade origem.
Separar o Grupo Repetitivo
Profa. Maria Auxiliadora 6
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
Exemplo: Entidade Cliente
Cliente CPF RG
Nome Dependentes
Profa. Maria Auxiliadora 7
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
Exemplo: Entidade Cliente • O cliente pode ter mais de um nome? Não • O cliente pode ter mais de um CPF? Não • ...... • O cliente pode ter mais de um dependente? SIM
Então DEPENDENTE é uma Entidade
Profa. Maria Auxiliadora 8
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
Exemplo: Entidades Cliente e Dependentes
Cliente Dependentes
Profa. Maria Auxiliadora 9
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
Segunda forma normal (2NF) A segunda forma normal fala sobre a dependência relativa de dados. Em termos claros podemos dizer que todo atributo de uma entidade que não depender exclusivamente da chave primária, deve gerar uma nova entidade.
Separar o Dependência Funcional Parcial
Profa. Maria Auxiliadora 10
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
Exemplo: Entidade Associado
Associado
CPF N° do Contrato
RG Nome
Data_venc_contrato
Profa. Maria Auxiliadora 11
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
Exemplo: Entidade Associado • Trocando o atributo nome o cliente será descaracterizado? Sim • Trocando o atributo os CPF e RG o cliente será descaracterizado? Sim • ...... • Trocando a Data_venc_contrato o cliente é descaracteriza? Não Então Contrato é uma Entidade
Profa. Maria Auxiliadora 12
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
Exemplo: Entidades Associado e Contrato
Associado
CPF RG
Nome
Contrato
CPF N° do Contrato
Data_venc_contrato
Profa. Maria Auxiliadora 13
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
Tercaira forma normal (3NF) A terceira forma normal utiliza o principio de transitividade, e diz que todo atributo que dependem não transitivamente da chave primária gera uma entidade.
Separar a Dependência Transitiva
Profa. Maria Auxiliadora 14
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
Exemplo: Entidade Cliente
Cliente CPF RG
Nome UF
Código_cidade Nome_cidade
Profa. Maria Auxiliadora 15
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
Exemplo: Entidade Cliente • O nome da cidade depende do CPF? Não Então Cidade é uma Entidade
Profa. Maria Auxiliadora 16
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
Exemplo: Entidades Cliente e Cidade
Cliente Cidade
Profa. Maria Auxiliadora 17
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
NORMALIZAÇÃO DE DADOS
CPF RG
Nome Cod-cidade
Cod-cidade
Nome_cidade
Cliente
Cidade
Exemplo: Entidades Cliente e Cidade
Profa. Maria Auxiliadora 18
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Exemplo: DADOS NÃO NORMALIZADOS
EMPRESA : XYZ Ordem de Pedido
NÚMERO DA ORDEM : 1234 CÓDIGO DO CLIENTE : 001 NOME DO CLIENTE : Carlos Eduardo ENDEREÇO : Av. Colares Moreira,xxx CIDADE : São Luís UF : MA CEP : 65000 DATA DE DESPACHO : 31/01/2011 OBSERVAÇÃO : Não enviar no horário da tarde.
Profa. Maria Auxiliadora 19
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Exemplo: DADOS NÃO NORMALIZADOS
Cód-
item
Descri
ção
Qtd Embal. Preço Valor
2346 paraf
uso
10 cx 3,00 30,00
1345 prego 5 cx 4,00 20,00
2664 óleo 10 1lt 4,00 40,00
Valor líquido: 90,00
Imposto: 10,00
Valor Total: 100,00
Profa. Maria Auxiliadora 20
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Exemplo: DADOS NÃO NORMALIZADOS
Número da ordem Código do cliente Nome do cliente Endereço Cidade UF CEP Data de Despacho Observações Código Item Descrição Quantidade Embalagem Preço Unitário Valor Total Impostos Total Geral
Profa. Maria Auxiliadora 21
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Exemplo: Anomalias
Inserção não podemos cadastrar um equipamento sem que tenhamos um contrato. Remoção se removermos um contrato temos que remover todos os dados do equipamento. Alteração redundância nos dados do equipamento.
Profa. Maria Auxiliadora 22
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Primeira Forma Normal (1FN)
Número da ordem Código do cliente Nome do cliente Endereço Cidade UF CEP Data de Despacho Observações Código Item Descrição Quantidade Embalagem Preço Unitário Valor Total Impostos Total Geral
1 -
tira
r as
re
pet
içõ
es
Profa. Maria Auxiliadora 23
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Primeira Forma Normal (1FN)
Número da ordem Código do cliente Nome do cliente Endereço Cidade UF CEP Data de Despacho Observações Impostos Total Geral
Código Item Descrição Quantidade Embalagem Preço Unitário Valor Total
Profa. Maria Auxiliadora 24
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Primeira Forma Normal (1FN)
Número da ordem Código do cliente Nome do cliente Endereço Cidade UF CEP Data de Despacho Observações Impostos
Total Geral
Código Item Descrição Quantidade Embalagem Preço Unitário Valor Total
2- Retirar os atributos que podem ser calculados
Profa. Maria Auxiliadora 25
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Primeira Forma Normal (1FN)
Número da ordem Código do cliente Nome do cliente Endereço Cidade UF CEP Data de Despacho Observações Impostos
Código Item Descrição Quantidade Embalagem Preço Unitário
3 Identificar o atributo que permita uma dependência funcional direta ou indireta dos outros atributos em relação a ele.
Profa. Maria Auxiliadora 26
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Primeira Forma Normal (1FN)
Número da ordem Código do cliente Nome do cliente Endereço Cidade UF CEP Data de Despacho Observações Impostos
Número da ordem
Código Item Descrição Quantidade Embalagem Preço Unitário
4 Garantir a propriedade reversível desta projeção
Profa. Maria Auxiliadora 27
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Primeira Forma Normal (1FN)
Número da ordem Código do cliente Nome do cliente Endereço Cidade UF CEP Data de Despacho Observações Impostos
Número da ordem
Código Item Descrição Quantidade Embalagem Preço Unitário
4 Garantir a propriedade reversível desta projeção
(1)
(2)
Profa. Maria Auxiliadora 28
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Segunda Forma Normal (2FN)
Analisar as entidades com chave composta
Número da ordem
Código Item Descrição Quantidade Embalagem Preço Unitário
(2)
Profa. Maria Auxiliadora 29
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Segunda Forma Normal (2FN)
Número da ordem
Código Item Descrição Quantidade Embalagem Preço Unitário
(2)
1 verificar dependência entre identificador
Profa. Maria Auxiliadora 30
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Segunda Forma Normal (2FN)
Código Item Descrição Embalagem Preço Unitário
(3)
2 separar os atributos com dependências diretas
Número da ordem
Código Item Quantidade
(2)
Profa. Maria Auxiliadora 31
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Entidades análise da 3FN
Código Item Descrição Embalagem Preço Unitário
(3)
Número da ordem
Código Item Quantidade
(2)
Número da ordem Código do cliente Nome do cliente Endereço Cidade UF CEP Data de Despacho Observações Impostos
(1)
Profa. Maria Auxiliadora 32
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Número da ordem Código do cliente Nome do cliente Endereço Cidade UF CEP Data de Despacho Observações Impostos
(1)
Terceira Forma Normal (3FN)
Profa. Maria Auxiliadora 33
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Anomalias - (3FN)
Inserção não podemos cadastrar um cliente sem que tenhamos um contrato. Remoção se removermos um contrato temos que remover todos os dados do cliente. Alteração redundância nos dados do cliente.
Profa. Maria Auxiliadora 34
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Número da ordem Código do cliente Nome do cliente Endereço Cidade UF CEP Data de Despacho Observações Impostos
Terceira Forma Normal (3FN)
1 verificar dependência entre atributos
(1)
Profa. Maria Auxiliadora 35
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Código do cliente Nome do cliente Endereço Cidade UF CEP
Terceira Forma Normal (3FN)
2 separar a dependência transitiva
Número da ordem Código do cliente Data de Despacho Observações Impostos
(1) (4)
Profa. Maria Auxiliadora 36
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Tabelas normalizadas
Número da ordem Código do cliente Data de Despacho Observações Impostos
Código do cliente Nome do cliente Endereço Cidade UF CEP
Número da ordem Código Item Quantidade
Código Item Descrição Embalagem Preço Unitário
Profa. Maria Auxiliadora 37
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Tabelas normalizadas
ORDEM CLIENTE
PEÇA PEDIDO
Profa. Maria Auxiliadora 38
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
EXEMPLOS
1 - Considerando as entidades da Vídeo Locadora, analise as entidades , abaixo relacionadas , quanto a normalização.
FICHA_EMPRÉSTIMO = núm_ficha + cód_cli + nome_cli + tel_cli + data_emprest + valor_total_emprést FILME_EMPRESTADA = cód_filme + nome_filme + autor-filme + + preço_unit + quant_emprest + valor_pagar
Profa. Maria Auxiliadora 39
Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição
POMPILHO, S. Análise Essencial – Guia Prático de Análise de Sistemas.
Exemplo – CONTROLE FUNCIONÁRIO
Considere uma relação não normalizada:
Mat_funcionário, nome_funcionário, data_admissão, código_cargo, valor_salário, nome_dependente data_nascimento_dep, código_setor nome_setor, código_habilidade, nome_habilidade, data_formação_hab