FC ConcursosFC Concursos

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 é:

  1. \(\pi\)autor, situacao (\(\sigma\) processo_id=(Processos, “Maria”, “Ativo”))
  2. \(\pi\)processo_id(\(\sigma\) autor = “Maria” \(\land\) situacao = “Ativo” (Processos))
  3. \(\sigma\)processo_id(Processos) (\(\pi\) autor = “Maria”, situacao = “Ativo”))
  4. \(\sigma\) (autor = “Maria” \(\cap\) situacao = “Ativo”, processo_id (Processos))
  5. (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

Continue aprendendo