Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias,...
Transcript of Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias,...
![Page 1: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/1.jpg)
Banco de Dados Banco de Dados -- INE 5323INE 5323
Projeto de Banco de Dados Relacionais Projeto de Banco de Dados Relacionais
Prof. Mario DantasProf. Mario Dantas
![Page 2: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/2.jpg)
Projeto de Banco de Dados Relacionais Projeto de Banco de Dados Relacionais
- Armadilhas
- Decomposição
- Dependências Funcionais e Normalização
- Dependências Multivaloradas e Normalização
- Abordagens Alternativas
![Page 3: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/3.jpg)
Projeto de Banco de Dados Relacionais Projeto de Banco de Dados Relacionais
- Armadilhas
- Decomposição
- Dependências Funcionais e Normalização
- Dependências Multivaloradas e Normalização
- Abordagens Alternativas
![Page 4: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/4.jpg)
Armadilhas no Projeto de Banco de Dados Armadilhas no Projeto de Banco de Dados RelacionalRelacional
O que seriam armadilhas no projeto de banco de dados relacional ?
![Page 5: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/5.jpg)
Armadilhas no Projeto de Banco de Dados Armadilhas no Projeto de Banco de Dados RelacionalRelacional
O projeto de banco de dados relacional requer uma boa coleção de sistemas relacionais. Um mau projeto pode conduzir :
(1) Repetição de informações
(2) Inabilidade para representar certas informações
![Page 6: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/6.jpg)
Armadilhas no Projeto de Banco de Dados Armadilhas no Projeto de Banco de Dados RelacionalRelacional
• Projete metas:
– Evite dados redundantes
– Garanta que haja relacionamentos entre atributos
– Facilite a verificação de atualizações por violação da restrição de integridade do banco de dados
![Page 7: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/7.jpg)
Observações Gerais
• Imagine a dependência funcional entre :
nome_agência cidade_agência
Qual o seu sentimento sobre a dependência apresentada ?
Esta dependência é importante e deve se realizar
![Page 8: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/8.jpg)
Observações Gerais
• Imagine a dependência funcional entre :
nome_agência número_empréstimo
Qual o seu sentimento sobre a dependência apresentada ?
Esta dependência não é importante e não deve se realizar
![Page 9: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/9.jpg)
Exemplo
Imagine que tenhamos dois esquemas (estáveis) e que por uma razão qualquer alguém proponha a união destes esquemas em um único esquema.
Qual sua opinião sobre a união de esquemas (estáveis) ?
![Page 10: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/10.jpg)
Exemplo
Qual sua opinião sobre a união de esquemas (estáveis) ?
Esta união dever ser analisada cuidadosamente, poisna maioria da vezes não devemos realizar união deesquemas estáveis.
![Page 11: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/11.jpg)
ExemploExemplo
- Esquema_agência = (nome_agência, fundos, cidade_agência)
- Esquema_empréstimo = (nome_agência, número_empréstimo, total)
BrooklynPalo altoHorseneck
9.000.0002.100.0001.700.000
DowntownRedwoodPerryridge
cidade_agênciafundosnome_agência
100020001500
JonesSmithJackson
172315
DowntownRedwoodPerryridge
totalNome_clienteNúmero_empréstimoNome_agência
![Page 12: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/12.jpg)
Exemplo Exemplo
Resultado :- Esquema_empréstimo = (nome_agência, fundos, cidade_agência,
número_empréstimo, nome_cliente, total)
100020001500
JonesSmithJackson
172315
BrooklynPalo altoHorseneck
9.000.0002.100.0001.700.000
DowntownRedwoodPerryridge
totalnome_cliente
número-empréstimo
cidade-agência
fundosnome_agência
![Page 13: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/13.jpg)
Observações Gerais
Problemas que podemos inferir dessa união :
• Não podemos representar diretamente a informação relativa a uma agência (somente se houver um empréstimo na agência).
Existe a necessidade na nova relação de existir valores em uma tupla sobre número_empréstimo, total e nome_cliente ;
![Page 14: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/14.jpg)
Observações Gerais
Problemas que podemos inferir dessa união :
• Devemos inserir valores nulos nos campos paraatualização (por exemplo).
![Page 15: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/15.jpg)
Observações Gerais
• As atualizações serão mais custosas, pois deveremos executar mais operações no esquema da relação (ou seja no projeto lógico).
![Page 16: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/16.jpg)
Projeto de Banco de Dados Relacionais Projeto de Banco de Dados Relacionais
- Armadilhas
- Decomposição
- Dependências Funcionais e Normalização
- Dependências Multivaloradas e Normalização
- Abordagens Alternativas
![Page 17: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/17.jpg)
DecomposiçãoDecomposição
• Decompor a relação Esquema_empréstimo:
Esquema_agência_cliente = (nome_agência, cidade_agência, fundos, nome_cliente)
Esquema_cliente_empréstimo = (nome_cliente, número_empréstimo, total)
![Page 18: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/18.jpg)
DecomposiçãoDecomposição• Todos atributos do esquema original (R) devem aparecer
na decomposição (R1,R2):
R =R1 ∪ R2
• Decomposição sem perda na junção Para todas as possíveis relações r no esquema R
r = ΠR1(r) ΠR2(r)
![Page 19: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/19.jpg)
Exemplo de uma Decomposição Exemplo de uma Decomposição sem perda na junçãosem perda na junção
• Decomposição de R = (A, B)R1 = (A) R2 = (B)
• ΠA (r) ΠB (r)
A Bααβ
121
A
αβ
B
12
rΠA(r) ΠB(r)
A B
ααββ
1212
![Page 20: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/20.jpg)
DecomposiçãoDecomposiçãoExemplo - Considere a relação Cinema apresentada a seguir
Título Ano Tempo Tipo Studio Estrela
Star Wars 1977 124 Cor Fox Carrie FisherStar Wars 1977 124 Cor Fox Mark HmillStar Wars 1977 124 Cor Fox Harrison FordMighty Ducks 1991 104 Cor Disney Emilio EstevezWayne´s W. 1992 95 Cor Param. Dana CarveyWayne´s W. 1992 95 Cor Param. Mike Meyers
![Page 21: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/21.jpg)
DecomposiçãoDecomposição
Qual a melhor decomposição da relação Cinema no seu ponto de vista ?
![Page 22: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/22.jpg)
DecomposiçãoDecomposição
Seria interessante termos os seguintes esquemas :
• Um esquema semelhante ao anteriorsem o nome das estrelas;
•Um segundo esquema onde pudessemos tero título do filme, o ano e o nome da estrela
![Page 23: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/23.jpg)
DecomposiçãoDecomposição
Exemplo - Do nosso primeiro esquema podemos afirmarque a relação abaixo está correta ?
Título Ano Tempo Tipo Studio
Star Wars 1977 124 Cor FoxStar Wars 1977 124 Cor FoxStar Wars 1977 124 Cor FoxMighty Ducks 1991 104 Cor DisneyWayne´s W. 1992 95 Cor Param. Wayne´s W. 1992 95 Cor Param.
![Page 24: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/24.jpg)
DecomposiçãoDecomposiçãoExemplo - Do nosso primeiro esquema temos a seguinte forma correta para a relação Filme :
Título Ano Tempo Tipo Studio
Star Wars 1977 124 Cor FoxMighty Ducks 1991 104 Cor DisneyWayne´s W. 1992 95 Cor Param.
![Page 25: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/25.jpg)
Observações Gerais
Note que a relação Filme elimina anomalias (redundâncias, anomalias de atualização e remoção).
Exemplos são :
• o tempo do filme que aparece somente uma vez;
![Page 26: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/26.jpg)
Observações Gerais
• atualizações, como por exemplo, somente vão afetar uma tupla, não existe o caso de inconsistência de mesmo filme com tempos diferentes ;
• não existe mais o risco de eliminar uma estrela e o filme ser eliminado.
![Page 27: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/27.jpg)
DecomposiçãoDecomposiçãoExemplo - E com relação a nossa relação estrela, estariacorreta a proposta a seguir ?
Título Ano Estrela
Star Wars 1977 Carrie FisherStar Wars 1977 Mark HmillStar Wars 1977 Harrison FordMighty Ducks 1991 Emilio EstevezWayne´s W. 1992 Dana CarveyWayne´s W. 1992 Mike Meyers
![Page 28: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/28.jpg)
DecomposiçãoDecomposição
A relação estrela está em uma boa forma.
O que vocês podem dizer sobre os atributos título e ano na relação estrela ?
Embora pareçam reduntantes estes atributos forma a chave para um filme.
![Page 29: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/29.jpg)
Meta Meta —— Imagine uma Imagine uma seguinte teoria paraseguinte teoria para:
• Decidir quando uma relação particular R é uma boa forma.
![Page 30: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/30.jpg)
Meta Meta —— Imagine uma Imagine uma seguinte teoria paraseguinte teoria para:
• No caso em que a relação R não é uma boa forma, decompor em um conjunto de relações {R1, R2, ..., Rn} de modo que :
– cada relação é uma boa forma
– a decomposição é uma decomposição sem perda na junção
![Page 31: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/31.jpg)
Meta Meta —— Imagine uma Imagine uma seguinte teoria paraseguinte teoria para:
• Nossa teoria é baseada em :
– dependências funcionais
– dependências multivaloradas
![Page 32: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/32.jpg)
Projeto de Banco de Dados Relacionais Projeto de Banco de Dados Relacionais
- Armadilhas
- Decomposição
- Dependências Funcionais e Normalização
- Dependências Multivaloradas e Normalização
- Abordagens Alternativas
![Page 33: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/33.jpg)
Dependências Funcionais e Normalização Dependências Funcionais e Normalização
![Page 34: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/34.jpg)
Melhoria de Desempenho em BD Relacionais
ObjetivoObjetivo : Evitar redundâncias através da divisão de relações.
----------------------------------------------------------------------------
DesafioDesafio : Manter a semântica da informação. É necessário queseja possível reconstituir relações originais.
![Page 35: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/35.jpg)
Melhoria de Desempenho em BD Relacionais
É importante a redução (ou evitar) das redundâncias observando aschamadas formas normaisformas normais.
![Page 36: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/36.jpg)
Melhoria de Desempenho em BD Relacionais
Relação com presença de redundância
ISBN Título Autor Edição Editora013031995301303199530130319953
0130319953
0130319953
0130319953
BD Garcia 2a. PrenHall
BD Garcia 1a. PrenHallBD Ullman 1a. PrenHallBD Widom 1a. PrenHall
BD Ullman 2a. PrenHall
BD Widom 2a. PrenHall
![Page 37: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/37.jpg)
Melhoria de Desempenho em BD Relacionais
Dependência FuncionalDependência Funcional
Um conjunto de atributos YY é dependente de um conjunto deatributos X, expresso por X → Y , se para cada tupla na relação,os valores de X determinam os valores de Y.
![Page 38: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/38.jpg)
Melhoria de Desempenho em BD Relacionais
Dependência FuncionalDependência Funcional
EXEMPLOSEXEMPLOS
(1) O ISBN determina o título e editora
ISBN → Título, Editora
(2) O ISBN não determina o autor.
ISBN → Autor
![Page 39: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/39.jpg)
Melhoria de Desempenho em BD Relacionais
Chaves como Dependências FuncionaisChaves como Dependências Funcionais
Nota : Uma chave é um conjunto mínimo de atributos cujos valores determinam de maneira única uma tupla em uma relação.
![Page 40: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/40.jpg)
Melhoria de Desempenho em BD Relacionais
Chaves como Dependências FuncionaisChaves como Dependências Funcionais
Fornecida uma relação R : Se existir uma pendência funcional X → R, onde X se apresenta como mínimo, então X é uma chave.
![Page 41: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/41.jpg)
Melhoria de Desempenho em BD Relacionais
Chaves como Dependências FuncionaisChaves como Dependências Funcionais
Metas de Projeto de um Banco de DadosMetas de Projeto de um Banco de Dados : Fazer com que todas as dependências funcionais apresentem dependências de chaves,sem perder a informação semântica
![Page 42: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/42.jpg)
Melhoria de Desempenho em BD Relacionais
Chaves como Dependências FuncionaisChaves como Dependências Funcionais
A parte esquerda de qualquer dependência funcional X → R éuma superchave.
![Page 43: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/43.jpg)
Melhoria de Desempenho em BD Relacionais
Chaves como Dependências FuncionaisChaves como Dependências Funcionais
Ident Ident Nome Sobrenome CEP Estado EndereçoNome Sobrenome CEP Estado Endereço9988 Maria Silva 88040 SC Rua Souza ...9900 Fátima Alvarez 22440 RJ Rua Carlos ...8890 Lúcia Baez 70900 DF Quadra Sul8880 Monica Qiz 22040 RJ Rua Nasce 8800 Marcia Tronco 88030 SC Rua Poti
![Page 44: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/44.jpg)
Melhoria de Desempenho em BD Relacionais
Chaves como Dependências FuncionaisChaves como Dependências Funcionais
Ident Telefone9980 048 - 22422229900 021- 23985438890 061 - 44836258880 021 - 52222228800 048 - 331 6666
![Page 45: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/45.jpg)
Melhoria de Desempenho em BD Relacionais
Derivando Dependências Funcionais :Derivando Dependências Funcionais :Transitividade Transitividade
Algumas vezes nem todas as dependências funcionais estão explicitamente definidas. Como então podemos achar estas relações ?
- Através de técnicas como o data mining (olhando nos dados)
- Observando conhecidas dependências funcionais.
![Page 46: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/46.jpg)
Melhoria de Desempenho em BD Relacionais
Derivando Dependências Funcionais :Derivando Dependências Funcionais :Transitividade Transitividade
Teorema : Se A → B e B → C, então A → C (transitividade)
![Page 47: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/47.jpg)
Melhoria de Desempenho em BD Relacionais
Normalização Normalização
É um processo no qual esquemas de relação inadequados são decompostos através da quebra de atributos em esquemas de relações menores e mais apropriados.
![Page 48: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/48.jpg)
Melhoria de Desempenho em BD Relacionais
11aa Forma Normal Forma Normal
Esta forma normal é caracterizada pela existência deatributos com apenas valores atômicos (indivisíveis).
![Page 49: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/49.jpg)
Melhoria de Desempenho em BD Relacionais
11aa Forma Normal Forma Normal -- Exemplos Exemplos
Departamento Gerente Localização
1 Produção Ricardo Florianópolis1 Produção Jaqueline Joinville
2 Perfuração Cesar Joinville
3 Exploração Silvio Florianópolis
No
Você acredita que a relação acima está na 1a Forma Normal ?
![Page 50: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/50.jpg)
Melhoria de Desempenho em BD Relacionais
11aa Forma Normal Forma Normal
Como podemos colocar a relação anterior na primeiraforma normal ?
![Page 51: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/51.jpg)
Melhoria de Desempenho em BD Relacionais
11aa Forma Normal Forma Normal -- Exemplos Exemplos
Departamento Gerente
1 Produção Ricardo
2 Perfuração César
3 Exploração Silvio
No
![Page 52: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/52.jpg)
Melhoria de Desempenho em BD Relacionais
11aa Forma Normal Forma Normal -- Exemplos Exemplos
Localização
1 Florianópolis
2 Joinville
3 Florianópolis
No
![Page 53: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/53.jpg)
Melhoria de Desempenho em BD Relacionais
22aa Forma Normal Forma Normal
Esta forma normal é caracterizada pela existência dadependência funcional de todos os atributos não chave com relação a chave primária da relação.
![Page 54: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/54.jpg)
Melhoria de Desempenho em BD Relacionais
33aa Forma Normal Forma Normal
Uma relação R está na 33a a Forma NormalForma Normal se seus atributosnão forem dependentes funcionalmente de outros atributos não chave, ou ainda, se seus atributos não chave não foremtransitivamente dependentes das chaves primárias.
![Page 55: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/55.jpg)
Melhoria de Desempenho em BD Relacionais
Relembrando Transitividade Relembrando Transitividade
Uma dependência funcional X Uma dependência funcional X →→ Y Y éé tida como tida como transitiva,transitiva,se existir um conjunto de atributos não chave Z, que observese existir um conjunto de atributos não chave Z, que observeas seguintes dependências : X as seguintes dependências : X →→ Z e Z e Z Z →→ Y Y
![Page 56: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/56.jpg)
Melhoria de Desempenho em BD Relacionais
Forma Normal Forma Normal BoyceBoyce--Codd Codd
Uma relação R está na forma normal Boyce-Codd se existir umadependência não trivial na relação que :
(A1, A2, ....An,) → B
e
(A1, A2, ....An,) é uma superchave para a relação R
![Page 57: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/57.jpg)
Projeto de Banco de Dados Relacionais Projeto de Banco de Dados Relacionais
- Armadilhas
- Decomposição
- Dependências Funcionais e Normalização
- Dependências Multivaloradas e Normalização
- Abordagens Alternativas
![Page 58: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/58.jpg)
Melhoria de Desempenho em BD Relacionais
Dependências Multivaloradas
Imagine que em um BD de uma biblioteca temos uma relação com os ISBNs dos livros , nomes dos autores e números de cópias.
ISBN Autor Cópias
85-7323-169-6 Dantas 1,2,3
0-13031-995-3 Molina 1,2,3UlmanWidom
![Page 59: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/59.jpg)
Melhoria de Desempenho em BD Relacionais
Dependências Multivaloradas
Como podemos normalizar está relação ? Como podemos normalizar está relação ?
ISBN Autor Cópias
85-7323-169-6 Dantas 1,2
0-13031-995-3 Molina 1,2UlmanWidom
![Page 60: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/60.jpg)
Melhoria de Desempenho em BD Relacionais
Relação Normalizada para a Forma Normal Relação Normalizada para a Forma Normal BoyceBoyce--Codd Codd ISBN Autor Cópias85-7323-169-6 Dantas 185-7323-169-6 Dantas 2
0-13031-995-3 Molina 1
0-13031-995-3 Molina 20-13031-995-3 Ullman 10-13031-995-3 Ullman 2
0-13031-995-3 Widom 20-13031-995-3 Widom 1
![Page 61: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/61.jpg)
Melhoria de Desempenho em BD Relacionais
A relação anterior não tem dependências funcionais, ou sejaestá na Forma Normal Forma Normal BoyceBoyce--CoddCodd.
Mas ainda temos redundânciasredundâncias por quê ?
Temos dependências multivaloradasdependências multivaloradas
![Page 62: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/62.jpg)
Melhoria de Desempenho em BD Relacionais
4 4 a a Forma Normal (4FN)Forma Normal (4FN)
Uma relação RR está na 4FN se a parte esquerda da relação dedependência de todas as MVDs não triviais são superchaves.
Em outras palavras, podemos dizer que a 4FN 4FN é a forma Boyce-Codd com a ausência de atributos multivalorados independentes.
![Page 63: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/63.jpg)
Melhoria de Desempenho em BD Relacionais
Dependência Multivalorada (MVD) Dependência Multivalorada (MVD)
Uma MVD é estabelecida quando, para um dado conjunto de valores de um determinado atributo X
![Page 64: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/64.jpg)
Melhoria de Desempenho em BD Relacionais
Como Normalizar a relação abaixo ? Como Normalizar a relação abaixo ? ISBN Autor Cópias85-7323-169-6 Dantas 185-7323-169-6 Dantas 2
0-13031-995-3 Molina 1
0-13031-995-3 Molina 20-13031-995-3 Ullman 10-13031-995-3 Ullman 2
0-13031-995-3 Widom 20-13031-995-3 Widom 1
![Page 65: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/65.jpg)
Melhoria de Desempenho em BD Relacionais
Teremos a primeira relação como : Teremos a primeira relação como : ISBN Autor85-7323-169-6 Dantas85-7323-169-6 Dantas
0-13031-995-3 Molina
0-13031-995-3 Molina0-13031-995-3 Ullman 0-13031-995-3 Ullman
0-13031-995-3 Widom 0-13031-995-3 Widom
![Page 66: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/66.jpg)
Melhoria de Desempenho em BD Relacionais
Teremos a segunda relação como : Teremos a segunda relação como : ISBN Cópias85-7323-169-6 185-7323-169-6 2
0-13031-995-3 1
0-13031-995-3 20-13031-995-3 10-13031-995-3 2
0-13031-995-3 20-13031-995-3 1
![Page 67: Banco de Dados - INE 5323 Projeto de Banco de …mario/cap7.pdf · anomalias (redundâncias, anomalias de atualização e remoção). Exemplos são : • o tempo do filme que aparece](https://reader031.fdocumentos.com/reader031/viewer/2022022700/5bbc6f8909d3f2ee168bc02f/html5/thumbnails/67.jpg)
Melhoria de Desempenho em BD Relacionais
Formas Normais Formas Normais
4 FN
FNBC3FN
2FN1FN