Pular para o conteúdo principal

Questão de Banco de Dados — Geral — FUNDATEC 2026

Banco de DadosGeral
Código
qa433525
Banca
FUNDATEC
Órgão
IFC
Ano
2026
Cargo
PEBTT ( )
Um analista de dados precisa consultar o sistema acadêmico de uma universidade. O banco de dados possui as seguintes relações:   ALUNO(id_aluno, nome, idade, id_curso) CURSO(id_curso, nome_curso, modalidade) MATRICULA(id_aluno, id_disciplina, nota)   O analista deseja obter exclusivamente os nomes dos alunos maiores de 20 anos que estão matriculados em alguma disciplina e pertencem a cursos na modalidade presencial, sem que colunas adicionais apareçam no resultado final. Com base nos operadores da álgebra relacional, assinale a alternativa que indica a expressão que atende ao objetivo descrito.
  1. Aπ\pi  nome, nota \text{ nome, nota } (σ\sigma  idade \text{ idade } > 20 \wedge  modalidade = ’presencial’ (ALUNO \text{ modalidade = 'presencial' (ALUNO } \bowtie  MATRICULA \text{ MATRICULA } \bowtie  CURSO)\text{ CURSO)})
  2. Bπ\pi nome, id_aluno (σ\sigma  idade \text{ idade } > 20  (ALUNO) \text{ (ALUNO) } \bowtie  MATRICULA \text{ MATRICULA } \bowtie σ\sigma  modalidade = ’presencial’ (CURSO)\text{ modalidade = 'presencial' (CURSO)})
  3. Cσ\sigma  idade \text{ idade } > 20  (\text{ (}π\pi  nome (ALUNO \text{ nome (ALUNO } \bowtie  MATRICULA \text{ MATRICULA } \bowtie  CURSO)\text{ CURSO)})
  4. Dπ\pi  nome \text{ nome } σ idade >20 (ALUNO)  CURSO\sigma \text{ idade } > 20 \text{ (ALUNO) } \bowtie \text{ CURSO}
  5. Eπ\pi  nome \text{ nome } (σ\sigma  idade \text{ idade } > 20 \wedge  modalidade = ’presencial’ (ALUNO \text{ modalidade = 'presencial' (ALUNO } \bowtie  MATRICULA \text{ MATRICULA } \bowtie  CURSO)\text{ CURSO)})
Revelar gabarito e comentário

GabaritoE — \pi \text{ nome } (\sigma \text{ idade } > 20 \wedge \text{ modalidade = 'presencial' (ALUNO } \bowtie \text{ MATRICULA } \bowtie \text{ CURSO)})

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 projeta apenas o atributo nome após aplicar a seleção sobre a junção das três relações, filtrando simultaneamente idade > 20 e modalidade = 'presencial'. Isso garante que o resultado contenha exclusivamente os nomes dos alunos que atendem a todos os critérios, sem colunas adicionais.

A álgebra relacional é uma linguagem formal de consulta que opera sobre relações (tabelas) e produz novas relações como resultado. Seus operadores fundamentais são a seleção (σ), que filtra linhas com base em uma condição; a projeção (π), que escolhe colunas específicas; e a junção (⋈), que combina tuplas de duas relações com base em uma condição de igualdade entre atributos. Compreender a ordem e a composição desses operadores é essencial para construir consultas corretas.

O objetivo do analista é obter exclusivamente os nomes dos alunos que satisfazem três condições: (1) ter idade maior que 20 anos, (2) estar matriculado em alguma disciplina e (3) pertencer a um curso na modalidade presencial. Para isso, é necessário combinar as três relações — ALUNO, MATRICULA e CURSO — por meio de junções naturais, pois a relação ALUNO se conecta a MATRICULA pela chave id_aluno, e ALUNO se conecta a CURSO pela chave id_curso. A junção natural (⋈) combina automaticamente as tuplas com valores iguais nos atributos de mesmo nome, eliminando colunas duplicadas.

A ordem dos operadores é crucial. Primeiro, devemos realizar a junção das três relações para obter uma relação que contenha todas as informações relevantes (nome, idade, modalidade, etc.). Em seguida, aplicamos a seleção para filtrar as linhas que atendem às condições idade > 20 e modalidade = 'presencial'. Por fim, aplicamos a projeção para selecionar apenas a coluna nome, eliminando qualquer outra coluna do resultado final. Essa sequência — junção, depois seleção, depois projeção — é a que atende exatamente ao que o analista deseja.

Um erro comum é aplicar a seleção antes da junção, o que pode ser válido em alguns casos, mas exige cuidado com a disponibilidade dos atributos. Por exemplo, a condição modalidade = 'presencial' só pode ser avaliada após a junção com a relação CURSO, pois o atributo modalidade não existe em ALUNO nem em MATRICULA. Portanto, qualquer expressão que tente filtrar por modalidade antes de unir com CURSO estará incorreta. Da mesma forma, a projeção deve ser a última operação, pois se aplicada antes da seleção, os atributos necessários para o filtro podem ser removidos.

A pegadinha desta questão está na ordem dos operadores e na necessidade de incluir todas as junções. A alternativa correta é a única que realiza a junção completa das três relações, aplica a seleção com ambas as condições e projeta apenas o atributo nome. As demais alternativas ou omitem uma junção necessária, ou aplicam a projeção antes da seleção, ou incluem colunas adicionais no resultado.

  1. 1Junção (⋈) das 3 relações
  2. 2Seleção (σ) — filtros
  3. 3Projeção (π) — só nome
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Esta alternativa projeta nome e nota, mas o analista deseja exclusivamente os nomes. A inclusão da coluna nota viola o requisito de que nenhuma coluna adicional apareça no resultado final. Além disso, a seleção é aplicada sobre a junção, o que está correto, mas a projeção inclui um atributo indevido.

Alternativa B — ❌ Incorreta

Esta alternativa projeta nome e id_aluno, novamente incluindo uma coluna adicional (id_aluno) que não deveria aparecer. Além disso, a seleção idade > 20 é aplicada apenas sobre ALUNO antes da junção, o que é válido, mas a condição modalidade = 'presencial' é aplicada sobre CURSO antes da junção, o que também é válido. No entanto, a projeção final inclui id_aluno, violando o requisito de exclusividade do nome.

Alternativa C — ❌ Incorreta

Esta alternativa aplica a projeção nome antes da seleção. Isso significa que a seleção idade > 20 será aplicada sobre uma relação que já não contém o atributo idade, pois a projeção removeu todas as colunas exceto nome. Portanto, a seleção não pode ser avaliada corretamente, resultando em erro ou em um resultado vazio. A ordem correta exige que a seleção seja aplicada antes da projeção.

Alternativa D — ❌ Incorreta

Esta alternativa realiza a junção apenas entre ALUNO e CURSO, omitindo a relação MATRICULA. O analista exige que os alunos estejam matriculados em alguma disciplina, o que só pode ser verificado por meio da relação MATRICULA. Sem essa junção, a consulta retornaria alunos que não estão matriculados em nenhuma disciplina, violando o requisito.

Alternativa E — ✅ Correta ⟵ GABARITO

Esta alternativa realiza a junção natural das três relações (ALUNO ⋈ MATRICULA ⋈ CURSO), aplica a seleção com as condições idade > 20 e modalidade = 'presencial', e projeta apenas o atributo nome. A ordem é correta: primeiro a junção, depois a seleção, e por fim a projeção. O resultado contém exclusivamente os nomes dos alunos que atendem a todos os critérios, sem colunas adicionais.

NÃO CAIA NESSA!

A banca explora a ordem dos operadores e a necessidade de todas as junções. A alternativa C inverte a ordem de projeção e seleção, tornando a seleção impossível de ser avaliada. A alternativa D omite a junção com MATRICULA, ignorando o requisito de matrícula. A alternativa A e B incluem colunas adicionais (nota e id_aluno), violando a exclusividade do nome. A alternativa E é a única que atende a todos os requisitos na ordem correta.

PEGA ESSA DICA!

Para questões de álgebra relacional, identifique primeiro quais relações precisam ser unidas para obter todos os atributos necessários. Em seguida, determine se a seleção pode ser aplicada antes ou depois da junção, verificando se os atributos da condição estão disponíveis. Por fim, aplique a projeção como última operação para garantir que apenas as colunas desejadas apareçam no resultado. Lembre-se: a projeção remove colunas, então qualquer filtro que dependa de uma coluna deve ser feito antes dela.

Gabarito: letra E

Link permanente: /questoes/qa433525