Buscar

CSI440 Aula 21 - Dependências Funcionais

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CSI440 – Banco de 
Dados I
Bruno Rabello Monteiro
Dependências 
Funcionais
Aula 21
UFOP  ICEA  DECSI
Conteúdo
• Introdução
• Diretrizes Informais
• Dependências Funcionais
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 3
UFOP  ICEA  DECSI
Introdução
• Normalização
• Método formal de projeto de banco de dados
• Usado para avaliar esquemas relacionais
quanto à qualidade
• Objetivos
• Preservação da informação
• Minimização da redundância
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 4
UFOP  ICEA  DECSI
Introdução
• A verificação da qualidade do projeto de BD
• Lógico/Conceitual
• Interpretação dos usuários sobre os esquemas e o
significado dos atributos
• Implementação/Físico
• Forma que as tuplas de uma relação são
armazenadas e atualizadas
• Aplica-se apenas à relações de base
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 5
UFOP  ICEA  DECSI
Diretrizes Informais
• Indicativos de boa qualidade no projeto de
uma tabela/relação
1. Atributos com semântica clara
2. Redução de redundância nas tuplas
3. Redução de valores em tuplas
4. Eliminação da possibilidade de gerar tuplas
falsas
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 6
UFOP  ICEA  DECSI
1. Semântica Clara
• Significado da interpretação dos valores dos
atributos de uma tupla
• Todo atributo possui equivalência no mundo
real e uma compreensão própria
• Diretriz
• Quanto mais fácil for explicar uma relação,
melhor estará o projeto dessa relação
• Atributos de entidades/relacionamentos não
devem ser combinados em uma única tabela
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 7
UFOP  ICEA  DECSI
1. Semântica Clara
• Esquema simplificado: BD 
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 8
FUNCIONARIO
Fnome Cpf Datanasc Endereco Dnumero
DEPARTAMENTO
Dnome Dnumero Cpf_gerente
DEP_LOCALIZACAO
Dnumero Dlocal
PROJETO
Projnome Projnumero Projlocal Dnum
TRABALHA_EM
Cpf Projnumero Horas (ELMASRI & NAVATHE, 2011)
UFOP  ICEA  DECSI
1. Semântica Clara
• Violações da Diretriz 1 
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 9
FUNC_DEP
Fnome Cpf Datanasc Endereco Dnumero Dnome Cpf_gerente
FUNC_PROJ
Cpf Pno H Fn Pn Pl
UFOP  ICEA  DECSI
2. Redução de Redundância
• Projeto de banco de dados objetiva
minimizar gasto com armazenamento
• Armazenar relações de base que
representam junções podem causar
anomalias de atualização
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 10
UFOP  ICEA  DECSI
2. Redução de Redundância
• Diretriz
• Projete os esquemas de relação de modo que 
nenhuma anomalia esteja presente
• Caso a presença de uma anomalia seja 
inevitável
• Anote-as para que pessoas/programas usem o BD 
corretamente
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 11
UFOP  ICEA  DECSI
2. Redução de Redundância
• Violação da Diretriz 2
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 12
(ELMASRI & NAVATHE, 201)
Redundância
UFOP  ICEA  DECSI
2. Redução de Redundância
• Eliminação da redundância
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 13
FUNCIONARIO
Fnome Cpf Datanasc Endereco Dnumero
Smith, John B. 123456789 1965-01-09 731 Fondren, Houston, TX 5
Wong, Franklin T. 333445555 1955-12-08 638 Voss, Houston, TX 5
Zelaya, Alicia J. 999887777 1968-07-19 3321 Castle, Spring, TX 4
... ... .. ... ...
Borg, James E. 888665555 1937-11-10 450 Stone, Houston, TX 1
DEPARTAMENTO
Dnome Dnumero Cpf_gerente
Research 5 333445555
Administration 4 987654321
Headquarters 1 888665555
UFOP  ICEA  DECSI
2. Anomalia de Inserção
• Considere a relação
• Inserir um funcionário sem departamento
• Tabela com muitos valores 
• Inserir um departamento sem funcionário
• Não é possível: Restrição de integridade de 
entidade
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 14
FUNC_DEP
Fnome Cpf Datanasc Endereco Dnumero Dnome Cpf_gerente
UFOP  ICEA  DECSI
2. Anomalia de Exclusão
• Considere a relação
• Exclusão de tuplas podem gerar perda de 
informação
• Se o último funcionário de um departamento for 
excluído perde-se a informação do departamento
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 15
FUNC_DEP
Fnome Cpf Datanasc Endereco Dnumero Dnome Cpf_gerente
UFOP  ICEA  DECSI
2. Anomalia de Modificação
• Considere a relação
• Uma atualização de em uma tupla pode 
necessitar de atualizações em cascata
• Se o do gerente de um departamento for 
alterado, várias tuplas precisarão ser alteradas
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 16
FUNC_DEP
Fnome Cpf Datanasc Endereco Dnumero Dnome Cpf_gerente
UFOP  ICEA  DECSI
3. Valores em Tuplas 
• Evitar atributos opcionais
• Necessidade de valores
• Desperdiça espaço de armazenamento
• Problemas com a junção no nível lógico
• Problemas com funções de agregação ( e
)
• pode ter vários significados
• Atributo não se aplica
• Valor do atributo é desconhecido
• Valor do atributo é conhecido, mas ausente
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 17
UFOP  ICEA  DECSI
3. Valores em Tuplas
• Diretriz
• Projete tabelas sem ou com poucos atributos 
opcionais
• Que possam assumir o valor com frequência
• Caso seja inevitável
• Garanta que eles se apliquem apenas em casos 
excepcionais
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 18
UFOP  ICEA  DECSI
4. Geração de Tuplas Falsas
• Ocorre quando, na aplicação da junção,
aparecem no resultado tuplas que não
deveriam aparecer
• Diretriz 4
• Projete esquemas de tabelas de modo que
possam ser unidos pelos atributos
correlacionados
• Chave primária e chave estrangeira
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 19
UFOP  ICEA  DECSI
4. Geração de Tuplas Falsas
• Considere as relações
• A junção natural de e
causam tuplas falsas
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 20
FUNC_LOC
Fnome Plocalização
João Santo André
Joice Santo André
Fernando Itu
Joice Itu
FUNC_PROJ
CPF Projnumero Horas Projnome Plocalização
12345678966 1 32,5 ProdutoX Santo André
12345678966 2 7,5 ProdutoX Itu
UFOP  ICEA  DECSI
Diretrizes: Resumo
• As diretrizes evitam problemas de
modificação e de geração de tuplas falsas
• Além de evitar desperdício com duplicidade de
dados e excesso de valores
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 21
UFOP  ICEA  DECSI
Dependência Funcional
• Restrição entre dois conjuntos de atributos
do BD
• Similar ao conceito generalizado de chave de
relação
• Informalmente
• O valor de um conjunto de atributos determina
o valor de outro conjunto de atributos de uma
mesma relação
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 22
UFOP  ICEA  DECSI
Dependência Funcional
• Formalmente
• Suponha o BD constituído de uma única
relação universal = { , , ..., }
• Uma d.f. ou DF, indicada por  , entre dois
conjuntos de atributos e de , especifica
uma restrição sobre possíveis tuplas que
podem formar um estado de relação de
• Para quaisquer duas tuplas e em que
tenham [ ] = [ ], também devem ter [ ] = [ ]
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 23
UFOP  ICEA  DECSI
Dependência Funcional
• Em outras palavras
• Os valores do conjunto de atributos
dependem (ou são determinados pelos) valores
do conjunto
• Ou, será dependente funcionalmente de se,
e somente se, cada valor de em for
associado a um valor de
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 24
UFOP  ICEA  DECSI
Dependência Funcional
• Propriedade da semântica/significado dos
atributos
• Descreve melhor um esquema de relação ao
especificar restrições sobre seus atributos
• Propriedade do esquema da relação
• Não de um estado particular
• Determinadas pela compreensão do significado
dos dados
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 25
UFOP  ICEA  DECSI
Dependência Funcional
• Se o conjunto de atributos for uma chave 
candidata de 
•  para qualquer subconjunto de 
• Ou 
•  em , não implica 
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 26
UFOP  ICEA  DECSI
Dependência Funcional• Considere o esquema da relação
• Quais dependências funcionais existem?
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 27
FUNC_PROJ
Cpf Projnumero Horas Fnome Projnome Projlocal
UFOP  ICEA  DECSI
Dependência Funcional
• Considere o esquema da relação
• Quais dependências funcionais existem?
• Considerando a semântica dos atributos e da 
relação
• 
•  { , }
• { , } 
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 28
FUNC_PROJ
Cpf Projnumero Horas Fnome Projnome Projlocal
UFOP  ICEA  DECSI
Dependência Funcional
• Visualmente
• 
•  { , }
• { , } 
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 29
FUNC_PROJ
Cpf Projnumero Horas Fnome Projnome Projlocal
DF1
DF2
DF3
UFOP  ICEA  DECSI
Dependência Funcional
• Considere a tabela
• Quais dependências funcionais existem?
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 30
ENSINO
Professor Disciplina LivroTexto
Bruno BD I Navathe
Bruno BD II Date
Rodrigo Linguagens Sebesta
Rafael BD I Date
UFOP  ICEA  DECSI
Dependência Funcional
• Considere a tabela
•  ?
•  ?
• { , }  ?
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 31
ENSINO
Professor Disciplina LivroTexto
Bruno BD I Navathe
Bruno BD II Date
Rodrigo Linguagens Sebesta
Rafael BD I Date
UFOP  ICEA  DECSI
Dependência Funcional
• Considere a relação
• Quais dependências funcionais existem?
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 32
R
A B C D
a1 b1 c1 d1
a1 b2 c2 d2
a2 b2 c2 d3
a3 b3 c4 d3
UFOP  ICEA  DECSI
Dependência Funcional
• Considere a relação
• Quais dependências funcionais existem?
•  e 
• { , }  e { } 
• { , } 
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 33
R
A B C D
a1 b1 c1 d1
a1 b2 c2 d2
a2 b2 c2 d3
a3 b3 c4 d3
UFOP  ICEA  DECSI
Dependência Funcional
• Quais DFs são verdadeiras?
• 
• 
• 
• ( , , ) 
• ( , ) 
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 34
A B C D
B 5 2 20
C 4 2 15
B 6 7 20
B 5 2 20
C 2 2 15
C 4 2 15
A 10 5 18
A 12 3 18
A 10 5 18
B 5 2 20
C 4 2 15
A 10 5 18
UFOP  ICEA  DECSI
Dependência Funcional
• Quais DFs são verdadeiras?
• 
• 
• 
• ( , , ) 
• ( , ) 
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 35
A B C D
B 5 2 20
C 4 2 15
B 6 7 20
B 5 2 20
C 2 2 15
C 4 2 15
A 10 5 18
A 12 3 18
A 10 5 18
B 5 2 20
C 4 2 15
A 10 5 18
UFOP  ICEA  DECSI
Dependência Funcional
• Dado um estado de uma relação não é
possível determinar quais DFs existem
• Só sabendo o significado e os relacionamentos
entre os atributos
• Pode-se afirmar que certa DF não existe
• Mostrar a violação da DF
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 36
UFOP  ICEA  DECSI
Referências
• Elmasri, R.; Navathe, S. B. (2011). “Fundamentos de dependências funcionais 
e normalização para banco de dados relacionais” In: Elmasri, R.; Navathe, S. 
B. Sistemas de Banco de Dados, 6 ed. São Paulo: Pearson, p. 337-363.
PROF. BRUNO R. MONTEIRO CSI440 - BANCO DE DADOS I 37

Outros materiais