Considere o comando SQL a seguir.SELECT a.X, b.Y FROM T1 a, T2 b WHERE a.R = b.SDado que essa consulta pode ser expressa usando as operações primitivas da Álgebra Relacional, a lista que contém as operações necessárias e suficientes para essa conversão é, em ordem alfabética:
ADiferença, Produto, Projeção;
BProduto, Projeção, União;
CProjeção, União;
DProduto, Projeção, Seleção;
ESeleção, União.
Revelar gabarito e comentário▾
GabaritoD — Produto, Projeção, Seleção;
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: correspondência com SQL
Gabarito: letra D. A consulta SQL SELECT a.X, b.Y FROM T1 a, T2 b WHERE a.R = b.S é equivalente, na álgebra relacional, a uma sequência de operações: produto cartesiano entre as tabelas T1 e T2, seguido de seleção (filtro condicional a.R = b.S) e, por fim, projeção das colunas desejadas (a.X, b.Y). Essa correspondência é clássica e está diretamente alinhada com os fundamentos da álgebra relacional.
A banca cobra o conhecimento de como as cláusulas SQL se traduzem em operações algébricas primitivas. A chave é lembrar que:
FROM T1 a, T2 b → produto cartesiano (operação binária entre as tabelas)
WHERE ... → seleção (filtra linhas com base em condição)
A ordem na álgebra pode variar, mas as operações necessárias e suficientes são exatamente essas três.
Operação
Função na consulta SQL
Exemplo no comando
Produto
Combina todas as tuplas de T1 e T2 (FROM T1 a, T2 b)
T1 × T2
Seleção
Filtra linhas conforme condição (WHERE a.R = b.S)
σ(a.R = b.S)
Projeção
Seleciona colunas específicas (SELECT a.X, b.Y)
π(a.X, b.Y)
1Produto cartesiano (FROM)
2Seleção (WHERE)
3Projeção (SELECT)
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Inclui a operação diferença, que não é necessária para essa consulta. A diferença é usada para retirar tuplas de uma relação que aparecem em outra (ex.: subconsulta com NOT EXISTS ou EXCEPT), o que não ocorre aqui.
Alternativa B — ❌ Incorreta
Substitui a seleção pela união. União é usada para combinar tuplas de duas relações compatíveis (mesmo esquema), não para filtrar linhas com base em condição. Aqui, a condição do WHERE exige seleção, não união.
Alternativa C — ❌ Incorreta
Apenas projeção e união. Faltam o produto cartesiano (para combinar as tabelas do FROM) e a seleção (para aplicar a condição a.R = b.S). União novamente é inadequada.
Alternativa D — ✅ Correta ⟵ GABARITO
Contém as três operações necessárias e suficientes: produto (binária), projeção (unária) e seleção (unária). O produto gera todas as combinações de tuplas; a seleção filtra aquelas que satisfazem a.R = b.S; a projeção extrai apenas as colunas pedidas. Nenhuma outra operação (diferença, união) é requerida.
Alternativa E — ❌ Incorreta
Troca o produto pela união. União não combina tuplas de tabelas diferentes com esquemas distintos (T1 e T2 têm colunas de nome e tipo possivelmente diferentes), e a condição do WHERE exige seleção, mas o produto é indispensável para o FROM com duas tabelas.
PEGA ESSA DICA!
Na prova, monte o mapeamento mental: FROM com mais de uma tabela = produto; WHERE = seleção; SELECT (com colunas) = projeção. Decore esta tríade — ela cai em 90% das questões de álgebra relacional! Se aparecer UNION ou EXCEPT, aí entram operações extras.