Categorias: Concursos Públicos

Prova da Semana – Comentário da prova do Hemocentro – DF – 2017 – Tecnologia da Informação – BD

Abaixo comentamos as questões de banco de dados da prova do Hemocentro deste último final de semana. São duas questões de SQL, vamos aos comentários. Lembrando que doar sangue pode ajudar a salvar vidas! 

  1. Ano: 2017 Banca: IADES Órgão: Hemocentro Cargo: Analista de Tecnologia da Informação Q. 26

QUESTÃO 26 – Considere as tabelas aluno (matricula INT, nome CHAR, cod_curso INT) e curso (cod_curso INT, curso CHAR, área CHAR), apresentadas a seguir.

Qual dos comandos Structured Query Language (SQL) pode ser utilizado para listar somente os alunos que cursam História?

(A) select aluno.Nome from aluno, curso where aluno.cod_curso = curso.cod_curso AND curso.curso = 'Historia';

(B) select aluno.Nome from aluno,curso where curso.curso = 'Historia';

(C) select aluno.Nome from aluno,curso where aluno.cod_curso = 'Historia';

(D) select curso.curso from aluno,curso where aluno.cod_curso = curso.cod_curso AND curso.curso = 'Historia';

(E) select aluno.Nome from aluno,curso where curso.curso = 'Historia' and aluno.cod_curso != curso.cod_curso;

Comentário: Vamos analisar cada uma das alternativas acima.

Na alternativa A temos uma seleção que é feita sobre um produto cartesiano das tabelas aluno e curso. Em seguida é feita uma seleção com um predicado composto por duas partes, a primeira serve para limitar as colunas onde os atributos cod_curso das duas tabelas são iguais, vejam que isso faz com que o produto cartesiano se transforme em uma junção. A segunda parte limita as linhas aos atributos que possuem o valor “historia” associado ao campo curso. Vejam que é exatamente isso que é solicitado no enunciado, sendo, portanto, a nossa resposta.

Agora vamos avaliar os erros da demais alternativas. Na letra B temos um produto cartesiano sem a igualdade entre os códigos do curso na cláusula WHERE. Perceba que esse fato vai fazer com que o retorno seja bem maior em termos de linhas e que os pares obtidos não possuem um relacionamento, que seria obtido com a igualdade.

Na alternativa C o erro é ainda mais grosseiro, observe que o campo aluno.cod_curso é um atributo numérico e está sendo comparado com uma string de caracteres.

A alternativa D apresenta como resulta a coluna incorreta na cláusula select. Já a alternativa E utiliza o comparador de desigualdade na cláusula where. Em ambos os casos o resultado obtido é divergente do solicitado na questão.

Gabarito: A.

  1. Ano: 2017 Banca: IADES Órgão: Hemocentro Cargo: Analista de Tecnologia da Informação Q.

QUESTÃO 28 – Considere as tabelas aluno (id INT, nome CHAR, curso INT) e curso (id INT, nome CHAR), apresentadas a seguir.

Após a execução de uma consulta Structured Query Language (SQL), produziu-se exatamente o seguinte resultado:

Qual dos comandos SQL a seguir foi utilizado?

(A) SELECT a.nome, c.nome FROM aluno a RIGHT JOIN curso c ON a.curso = c.id;

(B) SELECT a.nome, c.nome FROM aluno a LEFT JOIN curso c ON a.curso = c.id UNION SELECT a.nome, c.nome FROM aluno a RIGHT JOIN curso c ON a.curso = c.id;

(C) SELECT a.nome, c.nome FROM aluno a LEFT JOIN curso c ON a.curso = c.id;

(D) SELECT a.nome, c.nome FROM aluno a INNER JOIN curso c ON a.curso = c.id;

(E) SELECT a.nome, c.nome FROM aluno a RIGHT JOIN curso c ON a.curso = c.id UNION SELECT a.nome, c.nome FROM aluno a LEFT JOIN curso c ON a.curso = c.id;

Comentário: Quando observamos as tabelas e os resultados podemos perceber que uma junção interna (INNER JOIN) foi executada sobre as tabelas aluno e curso para se obter o resultado esperado. Desta forma, a única alternativa que apresenta INNER JOIN no comando é a alternativa D, que é a resposta correta.

Gabarito: D.

Foram apenas essas duas questões. 

Qualquer dúvida estou às ordens,

Thiago

Thiago Rodrigues Cavalcanti

Posts recentes

Concurso Aratuípe (BA): sem novo edital previsto

A Prefeitura de Aratuípe, na Bahia, não possui novo edital previsto. O último processo seletivo…

9 segundos atrás

Concurso Arataca (BA): sem novo edital previsto

O último concurso da Prefeitura de Arataca, na Bahia, foi realizado em 2014. Até o…

2 minutos atrás

Concurso Aramari (BA): sem novo edital previsto

A Prefeitura de Aramari, na Bahia, realizou processo seletivo em 2025 com 175 vagas de…

3 minutos atrás

Concurso Araci (BA): sem novo edital previsto

A Prefeitura de Araci, na Bahia, realizou processo seletivo em 2025 com 584 vagas para…

5 minutos atrás

Notícias sobre edital: as principais informações de concursos

Se você tinha medo de perder alguma informação importante, não se preocupe! Aqui você confere…

6 minutos atrás

Concurso Araçás (BA): sem novo edital previsto

O último concurso da Prefeitura de Araçás, na Bahia, foi realizado em 2011 e ofereceu…

7 minutos atrás