SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
Projeto de Banco de Dados Relacional 
Dependências Funcionais 
Normalização
Projeto de Banco de Dados Relacional 
Uma vez que sabemos com quais dados nossa aplicação precisa lidar, como saber quais relações, atributos e relacionamentos devemos criar para obter um banco de dados com o menor número possível de redundâncias, e cujo uso também seja o mais eficiente possível. 
Em geral, o objetivo do projeto de banco de dados relacional é gerar um conjunto de esquemas relacionais que nos permitam armazenar informações sem redundância desnecessária e ainda obtendo informações facilmente.
Normalização 
São validações matemáticas dos atributos de uma tabela com base nos seus relacionamentos 
Conceito de Dependência Funcional entre os atributos 
Tem por objetivo principal resolver problemas de atualização de bases de dados, minimizando redundâncias. 
Toda redundância leva a uma inconsistência 
As principais características de uma base de dados normalizada são: 
Geração de aplicações mais estáveis (e por isso também mais alteráveis); 
Aumento do número de tabelas utilizadas; 
Diminuição dos tamanhos médios das tabelas.
Normalização 
O processo de normalização ocorre em etapas sucessivas (1FN, 2FN, 3FN, ...). 
Cada etapa corresponde a uma forma normal que representa um progressivo refinamento na estrutura das tabelas 
Atualmente, os teóricos da modelagem de dados consideram a existência de inúmeras formas normais, mas geralmente basta que uma tabela atenda às três primeiras etapas que possa ser considerada como normalizada. 
Cada Forma Normal sempre introduz restrições adicionais a serem aplicadas a relações que já estão em uma determinada Forma Normal 
Primeira Forma Normal 
Segunda Forma Normal 
Terceira Forma Normal
Dependência Funcional 
Conceito de Dependência Funcional 
Seja x e y dois atributos de uma relação R. y é dependente funcionalmente de x (x  y, lê-se “x determina y”) se, e somente se, cada valor x em R for associado a um valor y em R. 
Isto é, dadas duas tuplas quaisquer da tabela t1 e t2, onde t1[x] = t2[x], então t1[y] = t2[y] 
Se existe algum atributo na tabela que nunca repete seu valor, então este atributo determina todos os outros 
Exemplos 
cpf  nome, data_nascimento 
DDD  UF 
UF, cidade  DDD 
Fornece a base das 3 primeiras formas normais
Fecho de Dependências Funcionais 
Representa o conjunto de todas as dependências funcionais válidas para uma determinada tabela 
Exemplo, dada a tabela T 
Fecho de T = {A  C, D  B, AD  BC, AB  CD} 
Regras para facilitar a determinação do fecho 
Reflexividade: Se  é um conjunto de atributos e   , então vale   . Também chamada de Dependência Funcional Trivial 
Aumentação: Se vale    e  é um conjunto de atributos, então      também vale. 
Transitividade: Se valem   , e   , então    também vale. 
União: Se valem    e   , então    também vale. 
Decomposição: Se vale   , então valem    e   . 
Pseudotransitividade: Se valem   , e   , então vale     
A 
B 
C 
D 
a1 
b1 
c1 
d1 
a1 
b2 
c1 
d2 
a2 
b2 
c2 
d2 
a2 
b3 
c2 
d3 
a3 
b3 
c2 
d4
Dependência Funcional Total 
Se o atributo y depende funcionalmente do conjunto x de atributos, mas não depende funcionalmente de qualquer subconjunto x’ de x (isto é, x’  x), então y é totalmente dependente de x. 
O conjunto x é chamado também de determinante funcional de y. 
Exemplo 
estado, cidade  DDD 
DDD é totalmente dependente de estado e cidade, pois estado sozinho não determina DDD, assim como cidade
Primeira Forma Normal 
Uma relação está na Primeira Forma Normal se, e apenas se, todos os domínios contiverem apenas valores atômicos. 
Exemplo 
Tabela inicial não normalizada: 
Solicitações (numsolicitacao, data, codfunc, nomefunc, matsol = (codprod, descr, qtd)) 
Material solicitado (matsol) é um atributo multivalorado 
Outros exemplos de atributos multivalorados 
Endereços, telefones, etc. 
Armazém X 
Solicitação de Material Número: 2199 
Código do Funcionário: 357 
Data: 27/10/2000 
Nome do Funcionário: João da Silva 
Cód. Produto 
Descrição 
Quantidade 
1023 
Joelho Tigre 
2 
1056 
Luva Tigre 
4 
1011 
Torneira Tigre 
1
Colocando a tabela na primeira forma normal 
Para tornar uma relação não-normalizada em uma relação normalizada deve-se decompor a tabela não normalizada. 
Ou seja para cada tabela aninhada criar uma nova tabela. 
Esta nova tabela irá conter os atributos da tabela aninhada e o(s) atributo(s) que compõe a chave primária da(s) tabela(s) na(s) qual(is) a tabela está aninhada 
Nosso exemplo, 1FN: 
Solicitações (numsolicitacao, data, codfunc, nomefunc) 
SolicitaçõesItens (numsolicitacao, codprod, descr, qtd)
Segunda Forma Normal 
Uma relação está na Segunda Forma Normal se, e apenas se, estiver na 1FN, e cada atributo não-chave for totalmente dependente da chave primária 
Para chegar a 2FN deve-se: 
1) Verificar se existem colunas não-chave parcialmente dependentes de algum dos atributos da chave. Esta verificação é feita apenas em tabelas que tem a sua chave primária composta por mais de um atributo. 
2) Se existir um atributo b que dependa apenas parcialmente da chave primária x, isto é x’  b, onde x’  x: 
2.1) Criar tabela (se não existe ainda) cuja chave primária será x’; 
2.2) Mover da tabela original para a tabela criada o atributo b.
Colocando as tabelas na segunda forma normal 
Para o nosso exemplo de solicitação de materiais, tínhamos: 
codprod  descrição (isto é, a descrição de um produto só depende de seu código), mas 
{numsolicitacao, codprod }  qtd (a quantidade depende da solicitação E do produto) 
1FN: 
Solicitações (numsolicitacao, data, codfunc, nomefunc) 
SolicitaçõesItens (numsolicitacao, codprod, descricao, qtd) 
2FN: 
Solicitações (numsolicitacao, data, codfunc, nomefunc) 
SolicitaçõesItens (numsolicitacao, codprod, qtd) 
Produtos (codprod, descricao)
Terceira Forma Normal 
Exige a eliminação de dependências transitivas, nome dado à situação em que um atributo y, que depende totalmente da chave primaria, é por sua vez determinante de outro atributo z da relação. Isto é, x  y  z. 
Uma relação está na Terceira Forma Normal se, e apenas se, estiver na 2FN, e não tiver dependências transitivas. 
Para chegar na 3FN deve-se: 
1) Verificar se existem colunas não-chave dependentes de algum(ns) outro(s) atributo(s) não-chave. Esta verificação é feita apenas em tabelas que possuírem pelo menos 2 atributos não-chave. 
2) Se existir um atributo Z que dependa de outro(s) atributo(s) não-chave Y: 
2.1) Criar tabela (se não existe ainda) cuja chave primária será Y; 
2.2) Mover da tabela original para a tabela criada o atributo Z
Colocando as tabelas na terceira forma normal 
Para o nosso exemplo de solicitações de materiais, tínhamos na relação Solicitações uma dependência transitiva: 
numsolicitacao  codfunc  nomefunc 
1FN: 
Solicitações (numsolicitacao, data, codfunc, nomefunc) 
SolicitaçõesItens (numsolicitacao, codprod, descricao, qtd) 
2FN: 
Solicitações (numsolicitacao, data, codfunc, nomefunc) 
SolicitaçõesItens (numsolicitacao, codprod, qtd) 
Produtos (codprod, descricao) 
3FN: 
Solicitações (numsolicitacao, data, codfunc) 
Funcionários (codfunc, nomefunc) 
SolicitaçõesItens (numsolicitacao, codprod, qtd) 
Produtos (codprod, descricao)

Mais conteúdo relacionado

Mais procurados

3 modelo relacional
3 modelo relacional3 modelo relacional
3 modelo relacionalMarcos Souza
 
Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10PeslPinguim
 
Sebenta Ling Prog Cptig MóDulo Iii Carla
Sebenta Ling Prog Cptig   MóDulo Iii CarlaSebenta Ling Prog Cptig   MóDulo Iii Carla
Sebenta Ling Prog Cptig MóDulo Iii CarlaCarla Silva
 
Função exponencial
Função exponencialFunção exponencial
Função exponencialLorena Fontes
 
Limites de funções
Limites de funçõesLimites de funções
Limites de funçõesdjfrancis23
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo RelacionalJoel Santos
 
C++ apostila c++ nivel basico
C++   apostila c++ nivel basicoC++   apostila c++ nivel basico
C++ apostila c++ nivel basicorobinhoct
 
Analise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com MatlabAnalise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com MatlabDavid Luna Santos
 
Fundamentos de SQL - Parte 5 de 8
Fundamentos de SQL - Parte 5 de 8Fundamentos de SQL - Parte 5 de 8
Fundamentos de SQL - Parte 5 de 8Emiliano Barbosa
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Emiliano Barbosa
 
3º Fast Show - SQL Analytics
3º Fast Show - SQL Analytics3º Fast Show - SQL Analytics
3º Fast Show - SQL Analyticsqualidatavix
 
controlabilidade e observabilidade
controlabilidade e observabilidadecontrolabilidade e observabilidade
controlabilidade e observabilidadeJefferson Pedro
 
Aula Modelo Relacional
Aula Modelo RelacionalAula Modelo Relacional
Aula Modelo RelacionalMauro Duarte
 
Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8Emiliano Barbosa
 
Bdm aula 9 - operações sql - ticianne darin
Bdm   aula 9 - operações sql - ticianne darinBdm   aula 9 - operações sql - ticianne darin
Bdm aula 9 - operações sql - ticianne darinTicianne Darin
 

Mais procurados (19)

3 modelo relacional
3 modelo relacional3 modelo relacional
3 modelo relacional
 
424928
424928424928
424928
 
Recursão
RecursãoRecursão
Recursão
 
Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10
 
Sebenta Ling Prog Cptig MóDulo Iii Carla
Sebenta Ling Prog Cptig   MóDulo Iii CarlaSebenta Ling Prog Cptig   MóDulo Iii Carla
Sebenta Ling Prog Cptig MóDulo Iii Carla
 
Função exponencial
Função exponencialFunção exponencial
Função exponencial
 
Limites de funções
Limites de funçõesLimites de funções
Limites de funções
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
C++ apostila c++ nivel basico
C++   apostila c++ nivel basicoC++   apostila c++ nivel basico
C++ apostila c++ nivel basico
 
Analise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com MatlabAnalise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com Matlab
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
 
Fundamentos de SQL - Parte 5 de 8
Fundamentos de SQL - Parte 5 de 8Fundamentos de SQL - Parte 5 de 8
Fundamentos de SQL - Parte 5 de 8
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8
 
Algoritmos de busca
Algoritmos de buscaAlgoritmos de busca
Algoritmos de busca
 
3º Fast Show - SQL Analytics
3º Fast Show - SQL Analytics3º Fast Show - SQL Analytics
3º Fast Show - SQL Analytics
 
controlabilidade e observabilidade
controlabilidade e observabilidadecontrolabilidade e observabilidade
controlabilidade e observabilidade
 
Aula Modelo Relacional
Aula Modelo RelacionalAula Modelo Relacional
Aula Modelo Relacional
 
Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8
 
Bdm aula 9 - operações sql - ticianne darin
Bdm   aula 9 - operações sql - ticianne darinBdm   aula 9 - operações sql - ticianne darin
Bdm aula 9 - operações sql - ticianne darin
 

Semelhante a Banco de Dados Relacional: Normalização

Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosjulianaveregue
 
Normalização em Banco de Dados Relacionais
Normalização em Banco de Dados RelacionaisNormalização em Banco de Dados Relacionais
Normalização em Banco de Dados Relacionaisrobertaifbaiano
 
aula_06_dependc3aancia-funcional-e-normalizac3a7c3a3o.pdf
aula_06_dependc3aancia-funcional-e-normalizac3a7c3a3o.pdfaula_06_dependc3aancia-funcional-e-normalizac3a7c3a3o.pdf
aula_06_dependc3aancia-funcional-e-normalizac3a7c3a3o.pdfSaraR49
 
Normalização Banco de Dados
Normalização Banco de DadosNormalização Banco de Dados
Normalização Banco de DadosKablo Skater Rail
 
Tema 7 a_dicionario_de_dados_arvore_e_ta
Tema 7 a_dicionario_de_dados_arvore_e_taTema 7 a_dicionario_de_dados_arvore_e_ta
Tema 7 a_dicionario_de_dados_arvore_e_taPedro A. Uamusse
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dadoselliando dias
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dadosgjpbg
 
Apostila estrutura de dados 2
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2Leandro Lopes
 

Semelhante a Banco de Dados Relacional: Normalização (13)

Banco de Dados Relacional Estendido
Banco de Dados Relacional EstendidoBanco de Dados Relacional Estendido
Banco de Dados Relacional Estendido
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dados
 
Normalização em Banco de Dados Relacionais
Normalização em Banco de Dados RelacionaisNormalização em Banco de Dados Relacionais
Normalização em Banco de Dados Relacionais
 
aula_06_dependc3aancia-funcional-e-normalizac3a7c3a3o.pdf
aula_06_dependc3aancia-funcional-e-normalizac3a7c3a3o.pdfaula_06_dependc3aancia-funcional-e-normalizac3a7c3a3o.pdf
aula_06_dependc3aancia-funcional-e-normalizac3a7c3a3o.pdf
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Normalização Banco de Dados
Normalização Banco de DadosNormalização Banco de Dados
Normalização Banco de Dados
 
Aula1
Aula1Aula1
Aula1
 
02_lisp.pdf
02_lisp.pdf02_lisp.pdf
02_lisp.pdf
 
Tema 7 a_dicionario_de_dados_arvore_e_ta
Tema 7 a_dicionario_de_dados_arvore_e_taTema 7 a_dicionario_de_dados_arvore_e_ta
Tema 7 a_dicionario_de_dados_arvore_e_ta
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dados
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Apostila estrutura de dados 2
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 

Último

Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAHELENO FAVACHO
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxedelon1
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 

Último (20)

Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 

Banco de Dados Relacional: Normalização

  • 1. Projeto de Banco de Dados Relacional Dependências Funcionais Normalização
  • 2. Projeto de Banco de Dados Relacional Uma vez que sabemos com quais dados nossa aplicação precisa lidar, como saber quais relações, atributos e relacionamentos devemos criar para obter um banco de dados com o menor número possível de redundâncias, e cujo uso também seja o mais eficiente possível. Em geral, o objetivo do projeto de banco de dados relacional é gerar um conjunto de esquemas relacionais que nos permitam armazenar informações sem redundância desnecessária e ainda obtendo informações facilmente.
  • 3. Normalização São validações matemáticas dos atributos de uma tabela com base nos seus relacionamentos Conceito de Dependência Funcional entre os atributos Tem por objetivo principal resolver problemas de atualização de bases de dados, minimizando redundâncias. Toda redundância leva a uma inconsistência As principais características de uma base de dados normalizada são: Geração de aplicações mais estáveis (e por isso também mais alteráveis); Aumento do número de tabelas utilizadas; Diminuição dos tamanhos médios das tabelas.
  • 4. Normalização O processo de normalização ocorre em etapas sucessivas (1FN, 2FN, 3FN, ...). Cada etapa corresponde a uma forma normal que representa um progressivo refinamento na estrutura das tabelas Atualmente, os teóricos da modelagem de dados consideram a existência de inúmeras formas normais, mas geralmente basta que uma tabela atenda às três primeiras etapas que possa ser considerada como normalizada. Cada Forma Normal sempre introduz restrições adicionais a serem aplicadas a relações que já estão em uma determinada Forma Normal Primeira Forma Normal Segunda Forma Normal Terceira Forma Normal
  • 5. Dependência Funcional Conceito de Dependência Funcional Seja x e y dois atributos de uma relação R. y é dependente funcionalmente de x (x  y, lê-se “x determina y”) se, e somente se, cada valor x em R for associado a um valor y em R. Isto é, dadas duas tuplas quaisquer da tabela t1 e t2, onde t1[x] = t2[x], então t1[y] = t2[y] Se existe algum atributo na tabela que nunca repete seu valor, então este atributo determina todos os outros Exemplos cpf  nome, data_nascimento DDD  UF UF, cidade  DDD Fornece a base das 3 primeiras formas normais
  • 6. Fecho de Dependências Funcionais Representa o conjunto de todas as dependências funcionais válidas para uma determinada tabela Exemplo, dada a tabela T Fecho de T = {A  C, D  B, AD  BC, AB  CD} Regras para facilitar a determinação do fecho Reflexividade: Se  é um conjunto de atributos e   , então vale   . Também chamada de Dependência Funcional Trivial Aumentação: Se vale    e  é um conjunto de atributos, então      também vale. Transitividade: Se valem   , e   , então    também vale. União: Se valem    e   , então    também vale. Decomposição: Se vale   , então valem    e   . Pseudotransitividade: Se valem   , e   , então vale     A B C D a1 b1 c1 d1 a1 b2 c1 d2 a2 b2 c2 d2 a2 b3 c2 d3 a3 b3 c2 d4
  • 7. Dependência Funcional Total Se o atributo y depende funcionalmente do conjunto x de atributos, mas não depende funcionalmente de qualquer subconjunto x’ de x (isto é, x’  x), então y é totalmente dependente de x. O conjunto x é chamado também de determinante funcional de y. Exemplo estado, cidade  DDD DDD é totalmente dependente de estado e cidade, pois estado sozinho não determina DDD, assim como cidade
  • 8. Primeira Forma Normal Uma relação está na Primeira Forma Normal se, e apenas se, todos os domínios contiverem apenas valores atômicos. Exemplo Tabela inicial não normalizada: Solicitações (numsolicitacao, data, codfunc, nomefunc, matsol = (codprod, descr, qtd)) Material solicitado (matsol) é um atributo multivalorado Outros exemplos de atributos multivalorados Endereços, telefones, etc. Armazém X Solicitação de Material Número: 2199 Código do Funcionário: 357 Data: 27/10/2000 Nome do Funcionário: João da Silva Cód. Produto Descrição Quantidade 1023 Joelho Tigre 2 1056 Luva Tigre 4 1011 Torneira Tigre 1
  • 9. Colocando a tabela na primeira forma normal Para tornar uma relação não-normalizada em uma relação normalizada deve-se decompor a tabela não normalizada. Ou seja para cada tabela aninhada criar uma nova tabela. Esta nova tabela irá conter os atributos da tabela aninhada e o(s) atributo(s) que compõe a chave primária da(s) tabela(s) na(s) qual(is) a tabela está aninhada Nosso exemplo, 1FN: Solicitações (numsolicitacao, data, codfunc, nomefunc) SolicitaçõesItens (numsolicitacao, codprod, descr, qtd)
  • 10. Segunda Forma Normal Uma relação está na Segunda Forma Normal se, e apenas se, estiver na 1FN, e cada atributo não-chave for totalmente dependente da chave primária Para chegar a 2FN deve-se: 1) Verificar se existem colunas não-chave parcialmente dependentes de algum dos atributos da chave. Esta verificação é feita apenas em tabelas que tem a sua chave primária composta por mais de um atributo. 2) Se existir um atributo b que dependa apenas parcialmente da chave primária x, isto é x’  b, onde x’  x: 2.1) Criar tabela (se não existe ainda) cuja chave primária será x’; 2.2) Mover da tabela original para a tabela criada o atributo b.
  • 11. Colocando as tabelas na segunda forma normal Para o nosso exemplo de solicitação de materiais, tínhamos: codprod  descrição (isto é, a descrição de um produto só depende de seu código), mas {numsolicitacao, codprod }  qtd (a quantidade depende da solicitação E do produto) 1FN: Solicitações (numsolicitacao, data, codfunc, nomefunc) SolicitaçõesItens (numsolicitacao, codprod, descricao, qtd) 2FN: Solicitações (numsolicitacao, data, codfunc, nomefunc) SolicitaçõesItens (numsolicitacao, codprod, qtd) Produtos (codprod, descricao)
  • 12. Terceira Forma Normal Exige a eliminação de dependências transitivas, nome dado à situação em que um atributo y, que depende totalmente da chave primaria, é por sua vez determinante de outro atributo z da relação. Isto é, x  y  z. Uma relação está na Terceira Forma Normal se, e apenas se, estiver na 2FN, e não tiver dependências transitivas. Para chegar na 3FN deve-se: 1) Verificar se existem colunas não-chave dependentes de algum(ns) outro(s) atributo(s) não-chave. Esta verificação é feita apenas em tabelas que possuírem pelo menos 2 atributos não-chave. 2) Se existir um atributo Z que dependa de outro(s) atributo(s) não-chave Y: 2.1) Criar tabela (se não existe ainda) cuja chave primária será Y; 2.2) Mover da tabela original para a tabela criada o atributo Z
  • 13. Colocando as tabelas na terceira forma normal Para o nosso exemplo de solicitações de materiais, tínhamos na relação Solicitações uma dependência transitiva: numsolicitacao  codfunc  nomefunc 1FN: Solicitações (numsolicitacao, data, codfunc, nomefunc) SolicitaçõesItens (numsolicitacao, codprod, descricao, qtd) 2FN: Solicitações (numsolicitacao, data, codfunc, nomefunc) SolicitaçõesItens (numsolicitacao, codprod, qtd) Produtos (codprod, descricao) 3FN: Solicitações (numsolicitacao, data, codfunc) Funcionários (codfunc, nomefunc) SolicitaçõesItens (numsolicitacao, codprod, qtd) Produtos (codprod, descricao)