Questão FC369392
João é analista de banco de dados do MPU e precisa analisar as consultas que estão impactando o desempenho do banco de dados BDProc no PostgreSQL. Para isso, ele decidiu escrever a
Projeto e Modelagem de Dados
FGV · 2025
João é analista de banco de dados do MPU e precisa analisar as consultas que estão impactando o desempenho do banco de dados BDProc no PostgreSQL. Para isso, ele decidiu escrever as consultas SQL como expressões da álgebra relacional.
Observe a consulta SQL a seguir.
SELECT processo_id
FROM Processos
WHERE autor = “Maria” AND situacao = “Ativo”
Na álgebra relacional, a expressão correspondente que João deve escrever é:
- \(\pi\)autor, situacao (\(\sigma\) processo_id=(Processos, “Maria”, “Ativo”))
- \(\pi\)processo_id(\(\sigma\) autor = “Maria” \(\land\) situacao = “Ativo” (Processos))
- \(\sigma\)processo_id(Processos) (\(\pi\) autor = “Maria”, situacao = “Ativo”))
- \(\sigma\) (autor = “Maria” \(\cap\) situacao = “Ativo”, processo_id (Processos))
- (autor = “Maria” \(\cup\) situacao = “Ativo”) \(\bowtie\) ( \(\pi\) processo_id (Processos))
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A expressão apresentada, \( \pi_{processo\_id}(\sigma_{autor = "Maria" \land situacao = "Ativo"}(Processos)) \), significa: aplique primeiro a seleção e depois a projeção.
O operador \(\sigma\) filtra as tuplas da relação Processos que satisfazem a condição autor = "Maria" e situacao = "Ativo" (uso da conjunção \(\land\)).
Em seguida, o operador \(\pi\) projeta apenas o atributo processo_id, removendo os demais atributos (e eliminando duplicatas, se houver).
A ordem é essencial: se projetássemos antes, poderíamos perder os atributos necessários para a seleção. A notação com parênteses explicita essa sequência correta.
Conteúdo do catálogo FC Concursos · Atualizado em