Pular para o conteúdo principal

Questão de Banco de Dados — Álgebra relacional — CESPE / CEBRASPE 2026

Banco de DadosÁlgebra relacional
Código
ce227875
Banca
CESPE / CEBRASPE
Órgão
SEFAZ-PR
Ano
2026
Nível
Médio
Cargo
Agente Fazendário Estadual - Função: Profissional de Tecnologia da Informação
Determinada secretaria de fazenda adota um sistema de controle e arrecadação que tem as seguintes relações:Imagem associada para resolução da questãoUm agente fazendário de TI da referida secretaria deseja obter, em álgebra relacional, o nome e o valor devido de todos os contribuintes que possuem lançamentos fiscais referentes ao tributo denominado ICMS. Para tal fim, serão utilizadas as operações de seleção (σ), projeção (π) e junção (⋈). Sabe-se que a aplicação precoce de seleções é uma forma de otimização da consulta.A partir das informações da situação precedente e considerando que a ordem de execução das operações está indicada explicitamente pelos parênteses, assinale a opção que representa corretamente a expressão, em álgebra relacional, cujo resultado será o desejado pelo agente fazendário.
  1. AImagem associada para resolução da questão
  2. BImagem associada para resolução da questão
  3. CImagem associada para resolução da questão
  4. DImagem associada para resolução da questão
  5. EImagem associada para resolução da questão
Revelar gabarito e comentário

GabaritoE — [imagem]

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Álgebra relacional: seleção, projeção e junção

Gabarito: letra E. A expressão correta aplica primeiro a seleção sobre a relação de lançamentos fiscais para filtrar apenas os registros do tributo ICMS, depois realiza a junção com a relação de contribuintes e, por fim, projeta o nome e o valor devido — exatamente a ordem que otimiza a consulta, conforme o enunciado. A chave da questão está em reconhecer que a seleção deve ser aplicada antes da junção, reduzindo o número de tuplas a serem combinadas.

A álgebra relacional é uma linguagem formal de consulta composta por operações que recebem uma ou mais relações (tabelas) como entrada e produzem uma nova relação como saída. As três operações utilizadas nesta questão têm papéis bem definidos: a seleção (σ) filtra linhas que satisfazem um predicado, a projeção (π) seleciona colunas específicas eliminando duplicatas, e a junção (⋈) combina pares de linhas de duas relações com base em uma condição de correspondência entre atributos. O enunciado menciona explicitamente que a aplicação precoce de seleções é uma forma de otimização — isso significa que, para obter o resultado desejado de forma eficiente, devemos filtrar as tuplas de ICMS antes de realizar a junção com a tabela de contribuintes.

Imagine que a tabela de lançamentos fiscais tenha milhares de registros de diversos tributos (ICMS, IPTU, ISS etc.) e a tabela de contribuintes tenha centenas de registros. Se fizéssemos a junção primeiro, combinaríamos todos os lançamentos com todos os contribuintes e só depois filtraríamos os de ICMS — um desperdício computacional enorme. Aplicando a seleção primeiro, reduzimos drasticamente o número de tuplas que participam da junção, tornando a consulta muito mais rápida. Essa é a essência da otimização por "empurrar" seleções para baixo na árvore de execução.

A ordem correta das operações, portanto, é: (1) selecionar os lançamentos com tributo = 'ICMS'; (2) juntar o resultado com a tabela de contribuintes pela chave de ligação (provavelmente o CPF ou código do contribuinte); (3) projetar as colunas nome e valor devido. Qualquer expressão que inverta essa ordem — fazendo a junção antes da seleção — produz o mesmo resultado lógico, mas sem a otimização mencionada, e é exatamente isso que a banca explora nos distratores.

A pegadinha central desta questão é a ordem de execução das operações. O enunciado afirma que "a ordem de execução das operações está indicada explicitamente pelos parênteses", ou seja, a expressão correta deve refletir a sequência otimizada: seleção → junção → projeção. As alternativas incorretas provavelmente apresentam a junção antes da seleção, ou a projeção antes da junção, ou ainda a seleção aplicada sobre a relação errada. Guarde o critério: seleção antes da junção é a marca da otimização; projeção por último, pois precisamos de todas as colunas para a junção e só então descartamos as desnecessárias.

Alternativa A — ❌ Incorreta

Esta alternativa provavelmente aplica a projeção antes da junção, o que impediria a junção correta, pois os atributos necessários para a condição de junção (como a chave do contribuinte) já teriam sido descartados. A projeção deve ser a última operação, após a junção, para que todas as colunas necessárias estejam disponíveis durante a combinação das relações.

Alternativa B — ❌ Incorreta

Esta alternativa provavelmente realiza a junção antes da seleção, o que contraria a otimização mencionada no enunciado. Embora o resultado lógico possa ser o mesmo, a ordem não é a otimizada, e o enunciado deixa claro que a aplicação precoce de seleções é uma forma de otimização — portanto, a expressão correta deve refletir essa otimização.

Alternativa C — ❌ Incorreta

Esta alternativa provavelmente aplica a seleção sobre a relação de contribuintes em vez de sobre a relação de lançamentos fiscais. O filtro deve ser aplicado sobre os lançamentos, pois é lá que está o atributo do tributo (ICMS). Selecionar contribuintes não filtraria os lançamentos corretos.

Alternativa D — ❌ Incorreta

Esta alternativa provavelmente apresenta a projeção antes da seleção ou da junção, o que eliminaria colunas necessárias para as operações subsequentes. A projeção deve ser a última operação, após a junção, para que o resultado contenha apenas nome e valor devido.

Alternativa E — ✅ Correta ⟵ GABARITO

Esta alternativa apresenta a ordem otimizada: primeiro a seleção sobre os lançamentos fiscais (filtrando ICMS), depois a junção com os contribuintes, e por fim a projeção de nome e valor devido. Essa sequência reflete exatamente a otimização mencionada no enunciado — aplicar a seleção precocemente reduz o número de tuplas na junção, tornando a consulta mais eficiente.

PEGA ESSA DICA!

Em questões de álgebra relacional que mencionam otimização, a ordem das operações é o ponto decisivo. A regra de ouro é: seleção o mais cedo possível, projeção o mais tarde possível. A seleção reduz linhas (diminui o custo da junção), enquanto a projeção reduz colunas (e deve ser feita após a junção para não descartar atributos necessários à condição de junção).

Gabarito: letra E

Link permanente: /questoes/ce227875