Escolar Documentos
Profissional Documentos
Cultura Documentos
Dependências Funcionais
P. Serendero, 2011-13
Dependências Funcionais
colaborador(num-empregado,num-projeto, nome-empregado,
nome-projeto, num-horas)
X →A ex: BI → nome
O conjunto dos atributos X determinam funcionalmente o
atributo A
(no ex. o nome depende do BI , mas o BI não depende do nome)
X: O conjunto determinante
A: o atributo dependente
Nota:
A convenção em muitos textos utiliza as letras A,B,C,D, para atributos singulares
e as letras X,Y,Z para conjuntos de atributos
Dependências Funcionais
Portanto, numa tabela representando uma relação R,
Se dois tuplos j e m coincidem no valor de todos os seus
Tuplosatributos
A1A, devem
A2 tambémAn coincidir
B1 em todos
B2 os valores
B3
dos seus atributos B
Tuplo j
Tuplo m
modelo → comprimento
comprimento → modelo ?
O que quer dizer que se criamos uma relação com estes elementos, modelo
seria a chave e comprimento o atributo
num-aluno → curso
Exemplos de DF
curso → nome-curso, data-criação na relação
aluno,ano,disciplina, epoca → nota
embarcação
BI → nome-pessoa
Bi → NIF
NIF → BI São estas duas dependências verdadeiras?
Dependências Funcionais
Outro exemplo: Dada a relação R
embarcação(matricula, nome, proprietario, pais, modelo, comprimento, boca,
bi_proprietario), e as seguintes dependências funcionais
Se A → (B,C) logo A → B e A → C
A1, A2,.., An → B1
A1, A2,.., An → B2
...
A1, A2,.., An → Bm
Podemos separar os atributos no lado direito tal que só 1 atributo aparece à
direita de cada dependência funcional
Da mesma maneira podemos substituir uma coleção de dependências com
um lado esquerdo comum por uma dependência simples com o mesmo lado
esquerdo e todos os lados direitos combinados num só conjunto de
atributos X → Y
Dependências Funcionais
Exemplo: o conjunto de dependências:
Porque?
tipo-embarcação → boca
modelo → boca
modelo não determina sozinho o tamanho da boca. E o tipo de
embarcação também não. São precisos os dois: superchave
Regras nas Dependências Funcionais
Axiomas de Amstrong:
(U - união)
Dependências Funcionais
Das regras anteriores pode-se derivar outras regras adicionais de
inferência
Descomposição
Se X → YZ, logo X → Y e X → Z
União
Se X → Y e X → Z, logo X → YZ, onde (Y U Z)
Pseudotransitividade
Se X → Y e WY → Z, logo WX → Z
Computando o fecho dos atributos
1. Y+ = Y
Se o
subconjunto A
determina um
outro atributo B,
adicionamos
A B
este ao fecho Y+
Y+
Novo Y+
Fecho dos atributos: exemplo
Dada a seguinte relação R (A, B, C, D, E) e dado o seguinte
conjunto de DF:
➲ A → BC
➲ CD → E
➲ B → D
➲ E → A
1. A+ = A
2. ABC // porque A → BC
3. ABCD // porque B → D
4. ABCDE // porque CD → E
5. ABCDE
➲ A+ = ABCDE, portanto A é uma super chave em R
Fecho dos atributos: exemplo
Dada a mesma R (A, B, C, D, E) da página anterior e as
mesmas DF:
➲ A → BC
➲ CD → E
➲ B→D
➲ E→A
1. B+ = B
2. BD // porque B → D
3. BD
➲ B+ = BD, portanto B NÃO é uma super chave em R
1) AG+ = AG
2) AGB //por A → B
3) AGBC // por A → C
4) AGBCH // por CG → H
5) AGBCHI // por CG → I e CG é subconjunto de AGBCH
6) ABCGHI , portanto AG é uma super chave
Dependências Funcionais
Exemplo
Dada a relação R(ABCDEF ) com as seguintes DF’s:
AB → C
BC → A
BC → D
D→E
CF → B
A → C é redundante em F+ quando {A → B, B → C}
Fim