Questão FC369395
A otimização de consultas em sistemas de bancos de dados relacionais envolve melhorar o desempenho das consultas SQL para garantir uma execução eficiente. Isso inclui ações como a
Projeto e Modelagem de Dados
FGV · 2024
A otimização de consultas em sistemas de bancos de dados relacionais envolve melhorar o desempenho das consultas SQL para garantir uma execução eficiente. Isso inclui ações como a escrita eficiente e reescrita de consultas, análise de plano de execução, manutenção de estatísticas de tabelas, entre outras. O objetivo é minimizar o tempo de resposta e maximizar o desempenho geral do sistema.
No contexto de otimização de consultas, assinale a opção que indica uma equivalência que não é verdadeira.
- \(\delta_c (R \bowtie S) \equiv (\delta_c (R)) \bowtie S\), sendo que a condição C envolve apenas atributos da relação R.
- \(\delta_{c1} (\delta_{c2} (R)) \equiv \delta_{c1} \ ou \ _{c2} (R)\), sendo c é condição, e A1 e A2, atributos.
- \(\pi _{A1,A2} (\delta_c(R))\) equivale a \(\delta_c(\pi_{A1,A2} (R))\), sendo c é condição, e A1 e A2, atributos.
- \(\pi_{L1} (\pi_{L2}(\pi_{L3} (R))) \equiv \pi_{L1}(R)\), sendo L1, L2 e L3 listas de atributos de R, e \(L1 \subset L2 \subset L3\).
- \(R \bowtie (S \bowtie T) \equiv (R \bowtie S) \bowtie T\), sendo R, S e T, relações.
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A expressão dada está incorreta porque a composição de seleções não gera uma **disjunção**, e sim uma **conjunção** das condições. Aplicar \( \delta_{c2} \) em \(R\) retém apenas tuplas que satisfazem \(c2\); em seguida \( \delta_{c1} \) mantém apenas as dessas tuplas que também satisfazem \(c1\). Logo, o resultado exige que **ambas** as condições sejam verdadeiras.
Portanto, a equivalência correta é \( \delta_{c1}(\delta_{c2}(R)) \equiv \delta_{c1 \wedge c2}(R)\). A forma com **disjunção (OR)**, \( \delta_{c1 \vee c2}(R)\), incluiria tuplas que satisfazem apenas uma das condições, o que não coincide com o efeito da seleção em cascata.
Exemplo rápido: se em \(R\) há tuplas que satisfazem apenas \(c1\) ou apenas \(c2\), \( \delta_{c1}(\delta_{c2}(R))\) pode ser vazia enquanto \( \delta_{c1 \vee c2}(R)\) não é — mostrando a não equivalência.
Conteúdo do catálogo FC Concursos · Atualizado em