SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Ementa 4: Normalização
Março de 2015
Banco de Dados 1 (IF62H)
Engenharia de Software (Turma ES21)
Prof. GIOVANI Volnei Meinerz
2/20
 Entender o conceito de normalização e sua aplicação
Objetivo da Aula
3/20
 Antigamente existiam os sistemas legados
 Não havia uma clara separação entre as várias camadas
que formam um sistema computadorizado
 Normalmente usam tecnologia antiga, incompatível com
padrões e sistemas da geração atual
 Baseavam-se em banco de dados que usam modelos de
dados de rede ou hierárquicos, ou Cobol e sistemas de
arquivos sem um banco de dados
Origem da Normalização
4/20
 Ter um bom SGBD não é o suficiente para evitar a
redundância de dados (Ementa 2)
 Se tabelas forem tratadas como arquivos, o SGBD não
conseguirá prover tratamento aos dados
 Tabelas representam um bloco básico no processo de
projetos de bancos de dados
 Tabelas devem estar bem estruturadas
 Como reconhecer uma estrutura ruim e como produzir
uma estrutura boa?
NORMALIZAÇÃO
Tabelas de Banco de Dados e Normalização
5/20
É um processo para avaliar e corrigir estruturas e tabelas de
modo a minimizar as redundâncias de dados, reduzindo,
assim, a probabilidade de ocorrência de anomalias
O Que é Normalização?
6/20
 Cenário
 Empresa de construção que gerencie vários projetos
 Cada projeto possui número, nome, funcionários designados, etc.
 Cada funcionário possui número, nome e classificação do cargo
 A empresa cobra pelas horas trabalhadas em cada projeto
 A tarifa de cobrança horária depende do cargo do funcionário
 Os dados da relação abaixo refletem a atribuição de funcionários
a projetos?
Necessidade de Normalização
PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS
15 Evergreen 102 David Analista de Sistemas R$96,00 23,8
18 Amber Wave 112 Darlene Analista de Requisitos R$45,95 45,0
22 Tide 106 William Programador R$35,75 12,8
25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4
7/20
 Aparentemente um funcionário pode ser designado para
mais de um projeto
Necessidade de Normalização
PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS
15 Evergreen 102 David Analista de Sistemas R$96,00 23,8
18 Amber Wave 112 Darlene Analista de Requisitos R$45,95 45,0
22 Tide 106 William Programador R$35,75 12,8
25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4
8/20
 Cada projeto inclui uma única ocorrência de
determinado (potencialmente vários) funcionário
 Assim, saber o PROJ_NUM e FUNC_NUM possibilita a
localização do cargo, tarifa e horas trabalhadas
Necessidade de Normalização
PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS
15 Evergreen 102 David Analista de Sistemas R$96,00 23,8
105 Alice Projetista de BD R$105,00 35,7
18 Amber Wave 118 James Suporte Geral R$18,36 45,3
112 Darlene Analista de Requisitos R$45,95 45,0
22 Tide 106 William Programador R$35,75 12,8
113 Delbert Projetista de Aplicações R$48,10 23,6
25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4
101 John Projetista de BD R$105,00 56,3
9/20
 Tarifa total pode ser calculada multiplicando-se as horas
trabalhadas pelo valor da tarifa cobrado por hora
Necessidade de Normalização
PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS
15 Evergreen 102 David Analista de Sistemas R$96,00 23,8
105 Alice Projetista de BD R$105,00 35,7
18 Amber Wave 118 James Suporte Geral R$18,36 45,3
112 Darlene Analista de Requisitos R$45,95 45,0
22 Tide 106 William Programador R$35,75 12,8
113 Delbert Projetista de Aplicações R$48,10 23,6
25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4
101 John Projetista de BD R$105,00 56,3
10/20
 Infelizmente, a estrutura do conjunto de dados não
atende o conceito de a regras de integridade, quando:
 PROJ_NUM destina-se, aparentemente, a constituir chave
primária, ou parte de uma. No entanto, contém nulos
 PROJ_NUM + FUNC_NUM definem uma linha (inconsistência,
visto que PROJ_NUM pode ser nulo)
Necessidade de Normalização
PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS
15 Evergreen 102 David Analista de Sistemas R$96,00 23,8
105 Alice Projetista de BD R$105,00 35,7
18 Amber Wave 118 James Suporte Geral R$18,36 45,3
112 Darlene Analista de Requisitos R$45,95 45,0
22 Tide 106 William Programador R$35,75 12,8
113 Delbert Projetista de Aplicações R$48,10 23,6
25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4
101 John Projetista de BD R$105,00 56,3
11/20
 As entradas da tabela induzem a inconsistência de dados
 O valor “Projetista de BD”, de CARGO, pode ser inserido como
“Projetista de Banco de Dados” ou Projetista de Bancos de
Dados”
Necessidade de Normalização
PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS
15 Evergreen 102 David Analista de Sistemas R$96,00 23,8
105 Alice Projetista de BD R$105,00 35,7
18 Amber Wave 118 James Suporte Geral R$18,36 45,3
112 Darlene Analista de Requisitos R$45,95 45,0
22 Tide 106 William Programador R$35,75 12,8
113 Delbert Projetista de Aplicações R$48,10 23,6
25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4
101 John Projetista de BD R$105,00 56,3
12/20
 A tabela apresenta redundância de dados, que resultam
nas seguintes anomalias:
 Anomalias de Atualização – modificar o valor CARGO para o
funcionário de número 112 exige, potencialmente, muitas
alterações, uma para cada “FUNC_NUM = 112”
Necessidade de Normalização
PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS
15 Evergreen 102 David Analista de Sistemas R$96,00 23,8
105 Alice Projetista de BD R$105,00 35,7
18 Amber Wave 118 James Suporte Geral R$18,36 45,3
112 Darlene Analista de Requisitos R$45,95 45,0
22 Tide 106 William Programador R$35,75 12,8
113 Delbert Projetista de Aplicações R$48,10 23,6
25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4
101 John Projetista de BD R$105,00 56,3
13/20
 Anomalias de Inserção – No caso de querer inserir uma
linha, necessita-se designar um funcionário a um projeto.
Caso o funcionário não tiver sido designado, será
necessário criar um projeto fantasma
Necessidade de Normalização
PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS
15 Evergreen 102 David Analista de Sistemas R$96,00 23,8
105 Alice Projetista de BD R$105,00 35,7
18 Amber Wave 118 James Suporte Geral R$18,36 45,3
112 Darlene Analista de Requisitos R$45,95 45,0
22 Tide 106 William Programador R$35,75 12,8
113 Delbert Projetista de Aplicações R$48,10 23,6
25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4
101 John Projetista de BD R$105,00 56,3
100 Fantasma Ainda não foi designado funcionário
14/20
 Anomalias de Exclusão – Suponha que apenas um
funcionário esteja em um determinado projeto. Se ele
deixar a empresa e seus dados forem excluídos, as
informações do projeto também serão excluídas.
Necessidade de Normalização
PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS
15 Evergreen 102 David Analista de Sistemas R$96,00 23,8
105 Alice Projetista de BD R$105,00 35,7
18 Amber Wave 118 James Suporte Geral R$18,36 45,3
112 Darlene Analista de Requisitos R$45,95 45,0
22 Tide 106 William Programador R$35,75 12,8
113 Delbert Projetista de Aplicações R$48,10 23,6
25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4
101 John Projetista de BD R$105,00 56,3
99 Vision 500 Giovani Gerente de Configuração R$500,00 80,0
15/20
 Relatórios apresentando resultados diferentes e/ou
incompletos
 Suponha que tenha sido solicitado relatório que mostre o valor
total de horas trabalhadas pelo CARGO “Projetista de Bancos de
Dados” ou pelo CARGO “Analista de Requisito”
Necessidade de Normalização
PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS
15 Evergreen 102 David Analista de Sistemas R$96,00 23,8
105 Alice Projetista de BD R$105,00 35,7
18 Amber Wave 118 James Suporte Geral R$18,36 45,3
112 Darlene Analista de Requisitos R$45,95 45,0
22 Tide 106 William Programador R$35,75 12,8
113 Delbert Projetista de Aplicações R$48,10 23,6
25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4
101 John Projetista de BD R$105,00 56,3
16/20
 Suponha que Darlene seja designada para trabalhar no
projeto Evergreen
 A cada designação, algumas entradas de dados são repetidas
desnecessariamente (imagine isso para milhares de entradas)
15, Evergeen, 112, Darlene, Analista de Requisitos, R$45,95, 0,0
Necessidade de Normalização
PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS
15 Evergreen 102 David Analista de Sistemas R$96,00 23,8
105 Alice Projetista de BD R$105,00 35,7
18 Amber Wave 118 James Suporte Geral R$18,36 45,3
112 Darlene Analista de Requisitos R$45,95 45,0
22 Tide 106 William Programador R$35,75 12,8
113 Delbert Projetista de Aplicações R$48,10 23,6
25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4
101 John Projetista de BD R$105,00 56,3
17/20
 Garantir que todas as tabelas atendam ao conceito de
relações bem estabelecidas. Características:
 Cada tabela representa um único assunto (Aluno, Disciplina)
 Nenhum item de dados será armazenado desnecessariamente
 Todos os atributos não primários de uma tabela são dependentes
da chave primária e de nada além dela
 Todas as tabelas estão livres de anomalias de atualização,
inserção e exclusão
Processo de Normalização
18/20
Etapas da Normalização
19/20
 Quanto mais alta a forma normal...
 ...mais operações de união relacional são necessárias para
produzir a saída desejada
 ...mais recursos são exigidos do SGBD para responder a consultas
do usuário final
 Qual é o interesse/necessidade do usuário?
 Desempenho rápido?
Etapas da Normalização
Ementa 4: Normalização
Março de 2015
Banco de Dados 1 (IF62H)
Engenharia de Software (Turma ES21)
Prof. GIOVANI Volnei Meinerz

Weitere ähnliche Inhalte

Ähnlich wie Normalização de dados e formas normais

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Comunidade NetPonto
 
13 dicas para colocar a operação da sua área de produtos nos trilhos
13 dicas para colocar a operação da sua área de produtos nos trilhos13 dicas para colocar a operação da sua área de produtos nos trilhos
13 dicas para colocar a operação da sua área de produtos nos trilhosProduct Camp Brasil
 
Apresentação da minha defesa de dissertação de mestrado
Apresentação da minha defesa de dissertação de mestradoApresentação da minha defesa de dissertação de mestrado
Apresentação da minha defesa de dissertação de mestradorobsonf
 
Não existe feedback melhor do que o do seu código
Não existe feedback melhor do que o do seu códigoNão existe feedback melhor do que o do seu código
Não existe feedback melhor do que o do seu códigoRenan Carvalho
 
Arquitetura e qualidade de codigo
Arquitetura e qualidade de codigoArquitetura e qualidade de codigo
Arquitetura e qualidade de codigoThamara Hessel
 
Adianti Framework PHPConf 2013
Adianti Framework PHPConf 2013Adianti Framework PHPConf 2013
Adianti Framework PHPConf 2013Pablo Dall'Oglio
 
Elevando sua análise de métricas para o próximo nível
Elevando sua análise de métricas para o próximo nívelElevando sua análise de métricas para o próximo nível
Elevando sua análise de métricas para o próximo nívelJoão Grabosque
 
Expremendo performance do sql server
Expremendo performance do sql serverExpremendo performance do sql server
Expremendo performance do sql serverFelipe Ferreira
 
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptxintroduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptxSaraR49
 

Ähnlich wie Normalização de dados e formas normais (11)

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
 
SLIDE-BOX.pptx
SLIDE-BOX.pptxSLIDE-BOX.pptx
SLIDE-BOX.pptx
 
13 dicas para colocar a operação da sua área de produtos nos trilhos
13 dicas para colocar a operação da sua área de produtos nos trilhos13 dicas para colocar a operação da sua área de produtos nos trilhos
13 dicas para colocar a operação da sua área de produtos nos trilhos
 
Apresentação da minha defesa de dissertação de mestrado
Apresentação da minha defesa de dissertação de mestradoApresentação da minha defesa de dissertação de mestrado
Apresentação da minha defesa de dissertação de mestrado
 
Não existe feedback melhor do que o do seu código
Não existe feedback melhor do que o do seu códigoNão existe feedback melhor do que o do seu código
Não existe feedback melhor do que o do seu código
 
Arquitetura e qualidade de codigo
Arquitetura e qualidade de codigoArquitetura e qualidade de codigo
Arquitetura e qualidade de codigo
 
Adianti Framework PHPConf 2013
Adianti Framework PHPConf 2013Adianti Framework PHPConf 2013
Adianti Framework PHPConf 2013
 
Elevando sua análise de métricas para o próximo nível
Elevando sua análise de métricas para o próximo nívelElevando sua análise de métricas para o próximo nível
Elevando sua análise de métricas para o próximo nível
 
Expremendo performance do sql server
Expremendo performance do sql serverExpremendo performance do sql server
Expremendo performance do sql server
 
Basesdedados
BasesdedadosBasesdedados
Basesdedados
 
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptxintroduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
 

Mehr von Marcos Nori (20)

Lucas 003
Lucas   003Lucas   003
Lucas 003
 
Lucas 001
Lucas   001Lucas   001
Lucas 001
 
Marcos 016
Marcos   016Marcos   016
Marcos 016
 
Marcos 015
Marcos   015Marcos   015
Marcos 015
 
Marcos 011
Marcos   011Marcos   011
Marcos 011
 
Marcos 012
Marcos   012Marcos   012
Marcos 012
 
Lucas 011
Lucas   011Lucas   011
Lucas 011
 
Marcos 010
Marcos   010Marcos   010
Marcos 010
 
Marcos 009
Marcos   009Marcos   009
Marcos 009
 
Marcos 007
Marcos   007Marcos   007
Marcos 007
 
Marcos 006
Marcos   006Marcos   006
Marcos 006
 
Marcos 005
Marcos   005Marcos   005
Marcos 005
 
Marcos 004
Marcos   004Marcos   004
Marcos 004
 
Marcos 003
Marcos   003Marcos   003
Marcos 003
 
Marcos 002
Marcos   002Marcos   002
Marcos 002
 
Marcos 001
Marcos   001Marcos   001
Marcos 001
 
Marcos 014
Marcos   014Marcos   014
Marcos 014
 
Marcos 008
Marcos   008Marcos   008
Marcos 008
 
Marcos 013
Marcos   013Marcos   013
Marcos 013
 
Mateus 025
Mateus   025Mateus   025
Mateus 025
 

Kürzlich hochgeladen

Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Lírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxLírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxfabiolalopesmartins1
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 

Kürzlich hochgeladen (20)

Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Lírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxLírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptx
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 

Normalização de dados e formas normais

  • 1. Ementa 4: Normalização Março de 2015 Banco de Dados 1 (IF62H) Engenharia de Software (Turma ES21) Prof. GIOVANI Volnei Meinerz
  • 2. 2/20  Entender o conceito de normalização e sua aplicação Objetivo da Aula
  • 3. 3/20  Antigamente existiam os sistemas legados  Não havia uma clara separação entre as várias camadas que formam um sistema computadorizado  Normalmente usam tecnologia antiga, incompatível com padrões e sistemas da geração atual  Baseavam-se em banco de dados que usam modelos de dados de rede ou hierárquicos, ou Cobol e sistemas de arquivos sem um banco de dados Origem da Normalização
  • 4. 4/20  Ter um bom SGBD não é o suficiente para evitar a redundância de dados (Ementa 2)  Se tabelas forem tratadas como arquivos, o SGBD não conseguirá prover tratamento aos dados  Tabelas representam um bloco básico no processo de projetos de bancos de dados  Tabelas devem estar bem estruturadas  Como reconhecer uma estrutura ruim e como produzir uma estrutura boa? NORMALIZAÇÃO Tabelas de Banco de Dados e Normalização
  • 5. 5/20 É um processo para avaliar e corrigir estruturas e tabelas de modo a minimizar as redundâncias de dados, reduzindo, assim, a probabilidade de ocorrência de anomalias O Que é Normalização?
  • 6. 6/20  Cenário  Empresa de construção que gerencie vários projetos  Cada projeto possui número, nome, funcionários designados, etc.  Cada funcionário possui número, nome e classificação do cargo  A empresa cobra pelas horas trabalhadas em cada projeto  A tarifa de cobrança horária depende do cargo do funcionário  Os dados da relação abaixo refletem a atribuição de funcionários a projetos? Necessidade de Normalização PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS 15 Evergreen 102 David Analista de Sistemas R$96,00 23,8 18 Amber Wave 112 Darlene Analista de Requisitos R$45,95 45,0 22 Tide 106 William Programador R$35,75 12,8 25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4
  • 7. 7/20  Aparentemente um funcionário pode ser designado para mais de um projeto Necessidade de Normalização PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS 15 Evergreen 102 David Analista de Sistemas R$96,00 23,8 18 Amber Wave 112 Darlene Analista de Requisitos R$45,95 45,0 22 Tide 106 William Programador R$35,75 12,8 25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4
  • 8. 8/20  Cada projeto inclui uma única ocorrência de determinado (potencialmente vários) funcionário  Assim, saber o PROJ_NUM e FUNC_NUM possibilita a localização do cargo, tarifa e horas trabalhadas Necessidade de Normalização PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS 15 Evergreen 102 David Analista de Sistemas R$96,00 23,8 105 Alice Projetista de BD R$105,00 35,7 18 Amber Wave 118 James Suporte Geral R$18,36 45,3 112 Darlene Analista de Requisitos R$45,95 45,0 22 Tide 106 William Programador R$35,75 12,8 113 Delbert Projetista de Aplicações R$48,10 23,6 25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4 101 John Projetista de BD R$105,00 56,3
  • 9. 9/20  Tarifa total pode ser calculada multiplicando-se as horas trabalhadas pelo valor da tarifa cobrado por hora Necessidade de Normalização PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS 15 Evergreen 102 David Analista de Sistemas R$96,00 23,8 105 Alice Projetista de BD R$105,00 35,7 18 Amber Wave 118 James Suporte Geral R$18,36 45,3 112 Darlene Analista de Requisitos R$45,95 45,0 22 Tide 106 William Programador R$35,75 12,8 113 Delbert Projetista de Aplicações R$48,10 23,6 25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4 101 John Projetista de BD R$105,00 56,3
  • 10. 10/20  Infelizmente, a estrutura do conjunto de dados não atende o conceito de a regras de integridade, quando:  PROJ_NUM destina-se, aparentemente, a constituir chave primária, ou parte de uma. No entanto, contém nulos  PROJ_NUM + FUNC_NUM definem uma linha (inconsistência, visto que PROJ_NUM pode ser nulo) Necessidade de Normalização PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS 15 Evergreen 102 David Analista de Sistemas R$96,00 23,8 105 Alice Projetista de BD R$105,00 35,7 18 Amber Wave 118 James Suporte Geral R$18,36 45,3 112 Darlene Analista de Requisitos R$45,95 45,0 22 Tide 106 William Programador R$35,75 12,8 113 Delbert Projetista de Aplicações R$48,10 23,6 25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4 101 John Projetista de BD R$105,00 56,3
  • 11. 11/20  As entradas da tabela induzem a inconsistência de dados  O valor “Projetista de BD”, de CARGO, pode ser inserido como “Projetista de Banco de Dados” ou Projetista de Bancos de Dados” Necessidade de Normalização PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS 15 Evergreen 102 David Analista de Sistemas R$96,00 23,8 105 Alice Projetista de BD R$105,00 35,7 18 Amber Wave 118 James Suporte Geral R$18,36 45,3 112 Darlene Analista de Requisitos R$45,95 45,0 22 Tide 106 William Programador R$35,75 12,8 113 Delbert Projetista de Aplicações R$48,10 23,6 25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4 101 John Projetista de BD R$105,00 56,3
  • 12. 12/20  A tabela apresenta redundância de dados, que resultam nas seguintes anomalias:  Anomalias de Atualização – modificar o valor CARGO para o funcionário de número 112 exige, potencialmente, muitas alterações, uma para cada “FUNC_NUM = 112” Necessidade de Normalização PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS 15 Evergreen 102 David Analista de Sistemas R$96,00 23,8 105 Alice Projetista de BD R$105,00 35,7 18 Amber Wave 118 James Suporte Geral R$18,36 45,3 112 Darlene Analista de Requisitos R$45,95 45,0 22 Tide 106 William Programador R$35,75 12,8 113 Delbert Projetista de Aplicações R$48,10 23,6 25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4 101 John Projetista de BD R$105,00 56,3
  • 13. 13/20  Anomalias de Inserção – No caso de querer inserir uma linha, necessita-se designar um funcionário a um projeto. Caso o funcionário não tiver sido designado, será necessário criar um projeto fantasma Necessidade de Normalização PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS 15 Evergreen 102 David Analista de Sistemas R$96,00 23,8 105 Alice Projetista de BD R$105,00 35,7 18 Amber Wave 118 James Suporte Geral R$18,36 45,3 112 Darlene Analista de Requisitos R$45,95 45,0 22 Tide 106 William Programador R$35,75 12,8 113 Delbert Projetista de Aplicações R$48,10 23,6 25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4 101 John Projetista de BD R$105,00 56,3 100 Fantasma Ainda não foi designado funcionário
  • 14. 14/20  Anomalias de Exclusão – Suponha que apenas um funcionário esteja em um determinado projeto. Se ele deixar a empresa e seus dados forem excluídos, as informações do projeto também serão excluídas. Necessidade de Normalização PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS 15 Evergreen 102 David Analista de Sistemas R$96,00 23,8 105 Alice Projetista de BD R$105,00 35,7 18 Amber Wave 118 James Suporte Geral R$18,36 45,3 112 Darlene Analista de Requisitos R$45,95 45,0 22 Tide 106 William Programador R$35,75 12,8 113 Delbert Projetista de Aplicações R$48,10 23,6 25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4 101 John Projetista de BD R$105,00 56,3 99 Vision 500 Giovani Gerente de Configuração R$500,00 80,0
  • 15. 15/20  Relatórios apresentando resultados diferentes e/ou incompletos  Suponha que tenha sido solicitado relatório que mostre o valor total de horas trabalhadas pelo CARGO “Projetista de Bancos de Dados” ou pelo CARGO “Analista de Requisito” Necessidade de Normalização PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS 15 Evergreen 102 David Analista de Sistemas R$96,00 23,8 105 Alice Projetista de BD R$105,00 35,7 18 Amber Wave 118 James Suporte Geral R$18,36 45,3 112 Darlene Analista de Requisitos R$45,95 45,0 22 Tide 106 William Programador R$35,75 12,8 113 Delbert Projetista de Aplicações R$48,10 23,6 25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4 101 John Projetista de BD R$105,00 56,3
  • 16. 16/20  Suponha que Darlene seja designada para trabalhar no projeto Evergreen  A cada designação, algumas entradas de dados são repetidas desnecessariamente (imagine isso para milhares de entradas) 15, Evergeen, 112, Darlene, Analista de Requisitos, R$45,95, 0,0 Necessidade de Normalização PROJ_NUM PROJ_NOME FUNC_NUM FUNC_NOME CARGO TARIFA HORAS 15 Evergreen 102 David Analista de Sistemas R$96,00 23,8 105 Alice Projetista de BD R$105,00 35,7 18 Amber Wave 118 James Suporte Geral R$18,36 45,3 112 Darlene Analista de Requisitos R$45,95 45,0 22 Tide 106 William Programador R$35,75 12,8 113 Delbert Projetista de Aplicações R$48,10 23,6 25 Starflight 112 Darlene Analista de Requisitos R$45,95 41,4 101 John Projetista de BD R$105,00 56,3
  • 17. 17/20  Garantir que todas as tabelas atendam ao conceito de relações bem estabelecidas. Características:  Cada tabela representa um único assunto (Aluno, Disciplina)  Nenhum item de dados será armazenado desnecessariamente  Todos os atributos não primários de uma tabela são dependentes da chave primária e de nada além dela  Todas as tabelas estão livres de anomalias de atualização, inserção e exclusão Processo de Normalização
  • 19. 19/20  Quanto mais alta a forma normal...  ...mais operações de união relacional são necessárias para produzir a saída desejada  ...mais recursos são exigidos do SGBD para responder a consultas do usuário final  Qual é o interesse/necessidade do usuário?  Desempenho rápido? Etapas da Normalização
  • 20. Ementa 4: Normalização Março de 2015 Banco de Dados 1 (IF62H) Engenharia de Software (Turma ES21) Prof. GIOVANI Volnei Meinerz