SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Dernier

William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
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
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
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
 
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
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundonialb
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosAntnyoAllysson
 
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
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
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.
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasRicardo Diniz campos
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Atividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoAtividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoMary Alvarenga
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 anoAdelmaTorres2
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 

Dernier (20)

William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
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
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
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
 
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
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundo
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteiros
 
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
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
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
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecas
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
Atividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoAtividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu Abrigo
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 

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