Questão nº 49
Questão de Tecnologia da Informação · FGV ALEP 2024 (nº 49)
Em otimização de consultas expressas em álgebra relacional, é possível considerar, para alguns casos, a transformação de expressões, a fim de que produzam resultados equivalentes.
Sejam:
I. R e S relações de um banco de dados relacional.
II. L um subconjunto de atributos comuns às relações R e S.
III. L1 ⊂ L2 ⊂ L3 conjuntos de atributos de R.
No que se refere ao operador de PROJEÇÃO (π), assinale a opção que apresenta uma propriedade de equivalência válida.
- A𝜋𝐿(𝑅 ∩ S) ≡ (𝜋𝐿(𝑅)) ∪ (𝜋𝐿(S))
- B𝜋𝐿(𝑅 ∪ S) ≡ (𝜋𝐿(𝑅)) ∪ (𝜋𝐿(S)) (alternativa correta)
- C𝜋𝐿(𝑅÷ S) ≡ (𝜋𝐿(𝑅)) ÷ (𝜋𝐿(S))
- D𝜋𝐿(𝑅− S) ≡ (𝜋𝐿(𝑆− R))
- E𝜋𝐿₁(𝜋𝐿₂(𝜋𝐿₃(𝑅))) ≡ 𝜋𝐿₃(R)
Resposta comentada
Gabarito Alternativa B
O operador de projeção () é como selecionar colunas específicas de uma tabela. Uma propriedade de equivalência significa que duas formas diferentes de escrever uma operação em álgebra relacional sempre produzem o mesmo resultado, o que é útil para otimizar consultas.
- A) Incorreta: A projeção não se distribui sobre a interseção dessa forma. Projetar a interseção () resultará apenas nos atributos de que aparecem em tuplas comuns a e . Já projetar e separadamente e depois unir () resultará em todos os atributos de que aparecem em ou em , o que é um conjunto maior ou diferente. Por exemplo, se está em mas não em , e está em mas não em , não incluirá , mas sim.
- (B) Correta: Esta é uma propriedade fundamental: a projeção distribui-se sobre a união. Isso significa que projetar as colunas de uma união de relações () é o mesmo que projetar as colunas de cada relação separadamente e depois unir esses resultados. O conjunto final de tuplas projetadas será o mesmo, pois a união simplesmente combina todas as tuplas de e , e a projeção seleciona as colunas dessas tuplas combinadas.
- C) Incorreta: A projeção não se distribui sobre a divisão dessa maneira. A operação de divisão é complexa e a projeção de atributos antes da divisão pode remover informações cruciais necessárias para que a divisão seja calculada corretamente.
- D) Incorreta: A diferença de conjuntos () e () são operações fundamentalmente diferentes, resultando em conjuntos de tuplas distintas (tuplas em que não estão em versus tuplas em que não estão em ). Projetar esses resultados distintos ainda resultará em conjuntos distintos, a menos que ambos os lados resultem em um conjunto vazio, o que não é uma equivalência geral.
- E) Incorreta: Armadilha da banca: Esta alternativa tenta enganar com a ideia de projeções aninhadas. A projeção é idempotente e "reduz" o conjunto de atributos. Se você tem , aplicar primeiro seleciona os atributos de . Em seguida, aplicar sobre o resultado de seleciona apenas os atributos de (já que é um subconjunto de ). Finalmente, aplicar sobre o resultado de seleciona apenas os atributos de . Portanto, a expressão é equivalente a , e não a . A projeção final sempre determina o conjunto de atributos do resultado.
Fonte: FGV ALEP 2024 Analista Legislativo - Desenvolvedor de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.