Pular para o conteúdo principal

Questão de Banco de Dados — Álgebra relacional — VUNESP 2026

Banco de DadosÁlgebra relacional
Código
gp018321
Banca
VUNESP
Órgão
UNESP
Ano
2026
Cargo
V - - Analista de Informática I - Área de Atuação: Desenvolvimento de Sistemas - São Paulo
Considere a seguinte tabela de um banco de dadosrelacional, bem como um comando escrito em álgebrarelacional: Imagem associada para resolução da questão O comando SQL equivalente a essa consulta é:
  1. ASELECT Nome, Nacionalidade, CPF FROM Passageiro WHERE CPF > 123;
  2. BSELECT CPF FROM Passageiro WHERE CPF > 123;
  3. CSELECT Passageiro (Nome, Nacionalidade) WHERE CPF > 123;
  4. DSELECT CPF FROM Passageiro WHERE (Nome, Nacionalidade) IN CPF>123;
  5. ESELECT Nome, Nacionalidade FROM Passageiro WHERE CPF > 123;
Revelar gabarito e comentário

GabaritoE — SELECT Nome, Nacionalidade FROM Passageiro WHERE CPF > 123;

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 e SQL: projeção e seleção

Gabarito: letra E. O comando em álgebra relacional apresentado na figura realiza uma projeção sobre os atributos Nome e Nacionalidade, seguida de uma seleção sobre a condição CPF > 123. Na tradução para SQL, a projeção corresponde à lista de colunas do SELECT e a seleção corresponde à cláusula WHERE, resultando em SELECT Nome, Nacionalidade FROM Passageiro WHERE CPF > 123;.

A álgebra relacional é a base formal das consultas em bancos de dados relacionais. Ela define um conjunto de operações que recebem uma ou mais relações (tabelas) como entrada e produzem uma nova relação como saída. As duas operações fundamentais envolvidas nesta questão são a seleção e a projeção, que, apesar dos nomes parecidos com os comandos SQL, têm significados bem distintos.

A seleção (representada pelo símbolo σ) filtra linhas (tuplas) de uma tabela, ou seja, escolhe quais registros atendem a uma determinada condição. Já a projeção (representada pelo símbolo π) filtra colunas (atributos), ou seja, escolhe quais campos serão exibidos no resultado. Essa distinção é crucial: a seleção trabalha na vertical (linhas), enquanto a projeção trabalha na horizontal (colunas).

No comando da figura, a operação de projeção é aplicada sobre os atributos Nome e Nacionalidade, indicando que apenas essas duas colunas devem aparecer no resultado. Em seguida, a operação de seleção é aplicada com a condição CPF > 123, indicando que apenas as linhas cujo valor do CPF seja maior que 123 devem ser retornadas. A ordem das operações na álgebra relacional não altera o resultado final, mas a tradução para SQL segue uma estrutura fixa.

A tradução direta para SQL segue o mapeamento clássico: a projeção vira a lista de colunas após o SELECT, a tabela de origem vira o FROM, e a seleção vira a condição do WHERE. Assim, a consulta SQL equivalente é SELECT Nome, Nacionalidade FROM Passageiro WHERE CPF > 123;. É importante notar que o SELECT do SQL não é a mesma coisa que a operação de seleção da álgebra relacional — o SELECT do SQL combina projeção e seleção, dependendo de como é usado.

A pegadinha desta questão está justamente na confusão entre os nomes: muitos candidatos associam o SELECT do SQL à operação de seleção da álgebra relacional, mas na verdade o SELECT do SQL corresponde à projeção. A seleção da álgebra relacional é traduzida para o WHERE do SQL. Guarde essa correspondência: projeção → SELECT (colunas) e seleção → WHERE (linhas).

1Projeção (π)
Filtra colunas
→ SELECT (lista de colunas)
2Seleção (σ)
Filtra linhas
→ WHERE (condição)
3Pegadinha
SELECT ≠ seleção
SELECT = projeção
Álgebra relacional → SQL
LEVELsoulevel.com.br
Álgebra relacional → SQL: Projeção (π) (Filtra colunas, → SELECT (lista de colunas)); Seleção (σ) (Filtra linhas, → WHERE (condição)); Pegadinha (SELECT ≠ seleção, SELECT = projeção)

Alternativa A — ❌ Incorreta

Esta alternativa inclui o atributo CPF na lista de colunas do SELECT. A projeção da álgebra relacional especifica apenas os atributos Nome e Nacionalidade, portanto o CPF não deve aparecer no resultado. Incluir o CPF na projeção altera o resultado da consulta, adicionando uma coluna que não foi solicitada.

Alternativa B — ❌ Incorreta

Esta alternativa projeta apenas o atributo CPF, ignorando completamente os atributos Nome e Nacionalidade que foram especificados na projeção da álgebra relacional. O resultado seria uma tabela com apenas uma coluna (CPF), enquanto o comando original retorna duas colunas (Nome e Nacionalidade).

Alternativa C — ❌ Incorreta

Esta alternativa apresenta uma sintaxe inválida em SQL. A cláusula SELECT não aceita uma lista de colunas entre parênteses dessa forma, e a cláusula FROM está ausente. A sintaxe correta do SQL exige SELECT colunas FROM tabela WHERE condição. Esta alternativa mistura a notação da álgebra relacional com a do SQL de forma incorreta.

Alternativa D — ❌ Incorreta

Esta alternativa também apresenta uma sintaxe inválida. A cláusula WHERE não pode conter uma lista de colunas entre parênteses seguida de IN CPF>123. A condição IN é usada para comparar um valor com uma lista de valores ou com o resultado de uma subconsulta, não para filtrar linhas com base em uma comparação simples. A sintaxe correta para a condição seria WHERE CPF > 123.

Alternativa E — ✅ Correta ⟵ GABARITO

Esta alternativa traduz corretamente a operação da álgebra relacional para SQL. A projeção sobre os atributos Nome e Nacionalidade vira a lista de colunas do SELECT, a tabela Passageiro vira o FROM, e a seleção com a condição CPF > 123 vira o WHERE. O resultado é exatamente o conjunto de linhas com os atributos Nome e Nacionalidade, filtrado pela condição CPF > 123.

NÃO CAIA NESSA!

A banca explora a confusão clássica entre os nomes das operações da álgebra relacional e os comandos SQL. O SELECT do SQL não é a seleção da álgebra relacional — ele é a projeção. A seleção da álgebra relacional corresponde ao WHERE do SQL. Lembre-se: projeção = SELECT (colunas) e seleção = WHERE (linhas). Com esse mapeamento em mente, você resolve qualquer questão desse tipo.

Gabarito: letra E

Link permanente: /questoes/gp018321