O docente solicita a construção de uma consulta que retorne o nome e o cargo dos docentes do departamento “Engenharia de Computação” que não participam de projetos externos, utilizando operações da álgebra relacional.
Diante desse contexto, assinale a alternativa que apresenta a combinação de operações que atende corretamente ao solicitado.
ASeleção σ sobre o departamento “Engenharia de Computação”, seguida de projeção π nos atributos nome e cargo e diferença (−) com a relação de projetos externos.
BProduto cartesiano (×) entre docentes e projetos, seguido de união (\cup) com os docentes do departamento “Engenharia de Computação” e projeção π nos atributos nome e cargo.
CDiferença (−) entre a relação de todos os docentes e a relação de projetos, seguida de projeção π nos atributos nome e cargo.
DUnião (\cup) de todos os docentes com o departamento “Engenharia de Computação”, seguida de junção (\bowtie) com a relação de projetos, e seleção σ por nome e cargo.
EProjeção π nos atributos nome e cargo, seguida de diferença (−) entre projetos e docentes, sem seleção sobre o departamento.
Revelar gabarito e comentário▾
GabaritoA — Seleção (\sigma) sobre o departamento “Engenharia de Computação”, seguida de projeção (\pi) nos atributos nome e cargo e diferença (−) com a relação de projetos externos.
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 diferença
Gabarito: letra A. A consulta exige três operações em sequência: seleção (σ) para filtrar os docentes do departamento "Engenharia de Computação", projeção (π) para retornar apenas os atributos nome e cargo, e diferença (−) para excluir aqueles que participam de projetos externos. A álgebra relacional é a base formal das consultas em bancos de dados relacionais, e cada operação produz uma nova relação a partir de uma ou mais relações de entrada.
A álgebra relacional é um conjunto de operações formais que manipulam relações (tabelas) para responder consultas. As operações fundamentais são: seleção (σ), que filtra linhas (tuplas) com base em uma condição; projeção (π), que seleciona colunas (atributos) específicas; união (∪), que combina tuplas de duas relações compatíveis; diferença (−), que retorna tuplas presentes na primeira relação mas ausentes na segunda; produto cartesiano (×), que combina todas as tuplas de duas relações; e junção (⋈), que combina tuplas relacionadas por uma condição de igualdade.
No problema, precisamos de três passos: primeiro, selecionar os docentes do departamento "Engenharia de Computação" (σ departamento='Engenharia de Computação'); segundo, projetar os atributos nome e cargo (π nome, cargo); e terceiro, subtrair os docentes que participam de projetos externos. A diferença (−) é a operação que remove elementos de um conjunto com base em outro. Para que a diferença funcione, as duas relações devem ter os mesmos atributos (ser compatíveis).
A ordem das operações é crucial. Se projetarmos antes de selecionar, perderemos o atributo departamento necessário para o filtro. Se fizermos a diferença antes da projeção, precisamos garantir que as relações tenham a mesma estrutura. A alternativa A apresenta a sequência correta: seleção → projeção → diferença.
A pegadinha desta questão está na ordem das operações e na necessidade de compatibilidade para a diferença. Muitos candidatos tentam fazer a diferença diretamente entre Docentes e Projetos, mas essas relações têm atributos diferentes (id_docente, nome, cargo, departamento vs. id_projeto, id_docente, nome_projeto, tipo_projeto), o que torna a operação inválida. A alternativa A resolve isso projetando primeiro os atributos desejados e depois subtraindo os docentes que participam de projetos externos.
Operações da Álgebra Relacional — só Seleção: σ; só Projeção: π; só Diferença: −; Seleção∩Projeção: σ+π; Seleção∩Diferença: σ+−; Projeção∩Diferença: π+−; Seleção∩Projeção∩Diferença: σ+π+−
Alternativa A — ✅ Correta ⟵ GABARITO
A sequência seleção (σ) sobre o departamento, projeção (π) nos atributos nome e cargo, e diferença (−) com a relação de projetos externos atende corretamente ao solicitado. A seleção filtra os docentes do departamento "Engenharia de Computação", a projeção retorna apenas nome e cargo, e a diferença remove aqueles que participam de projetos externos. A ordem é lógica: primeiro filtramos, depois projetamos e, por fim, subtraímos.
Alternativa B — ❌ Incorreta
O produto cartesiano (×) entre docentes e projetos combinaria todas as tuplas, gerando uma relação enorme e sem sentido para a consulta. A união (∪) com os docentes do departamento "Engenharia de Computação" também é inadequada, pois a união exige relações com a mesma estrutura, o que não ocorre entre o resultado do produto cartesiano e a relação de docentes. Além disso, a projeção final não eliminaria os docentes que participam de projetos externos.
Alternativa C — ❌ Incorreta
A diferença (−) entre a relação de todos os docentes e a relação de projetos é inválida, pois as duas relações têm atributos diferentes (Docentes: id_docente, nome, cargo, departamento; Projetos: id_projeto, id_docente, nome_projeto, tipo_projeto). A diferença exige que as relações sejam compatíveis, ou seja, tenham os mesmos atributos. Além disso, não há seleção sobre o departamento, então a consulta retornaria docentes de todos os departamentos.
Alternativa D — ❌ Incorreta
A união (∪) de todos os docentes com o departamento "Engenharia de Computação" é inválida, pois a união exige relações com a mesma estrutura, e "departamento" não é uma relação, mas um atributo. A junção (⋈) com a relação de projetos combinaria os docentes com seus projetos, mas a seleção (σ) por nome e cargo é incorreta, pois seleção filtra linhas, não colunas. A projeção (π) seria a operação correta para selecionar atributos.
Alternativa E — ❌ Incorreta
A projeção (π) nos atributos nome e cargo antes da diferença (−) entre projetos e docentes é inválida, pois a diferença exige relações compatíveis, e a projeção de nome e cargo não é compatível com a relação de projetos. Além disso, não há seleção sobre o departamento, então a consulta retornaria docentes de todos os departamentos, e a ordem das operações está incorreta.