Base de Dados, 2016/2017 Universidade do

Propaganda
Base de Dados, 2016/2017
Universidade do Algarve
Soluções dos problemas 1–4, Aula 5
Fernando Lobo
Problema 1
A melhor maneira de resolver esta pergunta é responder às alı́neas por ordem inversa.
3. Sim. BC é chave porque BC determina funcionalmente A (que é o único atributo restante
da relação R), e nenhum subconjunto próprio de BC é uma superchave de R. (B+ = B
e C + = C)
2. Sim, R está em BCNF. As duas DF’s não triviais de R são AB → C e BC → A. Em
ambos os casos, o lado esquerdo da DF é superchave de R.
1. Sim, R está na 3a FN porque estar em BCNF implica estar na 3FN.
Problema 2
• A única chave de R é FI (verifiquem porquê).
• R não está em BCNF porque F → M viola a condição de BCNF.
• R não está na 3NF porque F → M viola a condição de BCNF, e M não pertence a
uma chave de R.
• Decompomos R em R1 e R2 . Para tal, calcula-se F + .
F+ = F M
R1 fica com F e M, sendo que F é chave. R2 fica com F mais todos os atributos de R que
não pertencem a F + . Ou seja, R2 (F, I, P). R1 fica com a dependência funcional F → M. R2
fica com a dependência funcional FI → P. Nenhuma das dependências viola a condição
de BCNF, logo R1 e R2 estão ambos em BCNF.
1
Problema 3
A existência da DMV A B, implica que para um dado valor fixo de A, os componentes
de B devem aparecer em todas as combinações possı́veis com os restantes atributos da
relação (no nosso caso, apenas C). Logo, os seguintes tuplos também terão de existir:
(5,7,2)
(5,7,8)
(5,8,1)
(5,8,8)
(5,2,1)
(5,2,2)
Problema 4
1. Temos as seguintes DF’s:
número → nome
número → dataNascimento
número → nome dataNascimento (esta é derivada das outras duas)
2. DMV’s:
número disciplina
número desporto
Pela regra da promoção, obtemos ainda:
número nome
número dataNascimento
número nome dataNascimento
E pela regra do complemento (aplicada às 5 DMV’s anteriores) ainda obtemos mais
estas 5:
número nome dataNascimento desporto
número nome dataNascimento disciplina
número dataNascimento disciplina desporto
número nome disciplina desporto
número disciplina desporto
E ainda há mais que seriam obtidas por regras que não demos (regra da União: Se
X Y e X Z, então X (Y ∪ Z)).
3. A chave de Alunos é {número, disciplina, desporto}. Justificação:
{número, disciplina, desporto}+ = todos os atributos
2
e o fecho de nenhum subconjunto próprio dá todos os atributos:
{número, disciplina}+ = todos menos desporto
{número, desporto}+ = todos menos disciplina
{disciplina, desporto}+ = {disciplina, desporto}
Alunos não está na 4FN. Reparem que Alunos nem sequer está em BCNF. Logo,
nunca poderia estar na 4FN (visto que 4FN ⇒ BCNF).
Torna-se mais fácil resolver o exercı́cio se fizermos a decomposição de Alunos para
BCNF em primeiro lugar. Vamos começar por pegar numa DF que viole BCNF, por
exemplo: número → nome dataNascimento. Calcula-se o fecho de {número}.
{número}+ = {número, nome, dataNascimento}
Alunos dá origem a Alunos1 e Alunos2:
Alunos1( número, nome, dataNascimento )
Alunos2( número, disciplina, desporto )
Ambas estão em BCNF. Alunos1 está na 4FN (as suas DMV contêm no lado esquerdo uma superchave). Alunos2 não está na 4FN. Tem DMVs não triviais cujo
lado esquerdo não é superchave:
número disciplina
número desporto
Decompomos Alunos2 em Alunos3 e Alunos4.
Alunos3( número, disciplina )
Alunos4( número, desporto )
Agora as DMVs de Alunos3 e Alunos4 passaram a ser triviais. (A união dos atributos
do lado esquerdo e lado direito dá todos os atributos da relação).
3
Download