Questões Sistemas de Informação

Pedro foi contratado como desenvolvedor de software de uma empresa. Em seu primeiro ...

Responda: Pedro foi contratado como desenvolvedor de software de uma empresa. Em seu primeiro dia de trabalho ele se deparou com o DER (Diagrama Entidade-Relacionamento), que representa os dados de um sis...


Q116998 | Sistemas de Informação , Analista de Sistemas, ENADE, INEP

Pedro foi contratado como desenvolvedor de software de uma empresa. Em seu primeiro dia de trabalho ele se deparou com o DER (Diagrama Entidade-Relacionamento), que representa os dados de um sistema de controle de malotes. Foi solicitado a Pedro relatório para o sistema contendo os seguintes dados: o nome de todos os funcionários que enviaram os malotes, o código dos malotes enviados, a descrição de seus conteúdos e a situação dos malotes. Para a geração do relatório, Pedro tem que fazer uma consulta utilizando o comando SELECT da linguagem SQL.

Conhecidos o modelo conceitual de dados e os dados necessários para a tarefa de Pedro, o comando SELECT que ele deve executar para realizar a consulta e produzir o relatório corretamente é

  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

💬 Comentários

Confira os comentários sobre esta questão.
Matheus Fernandes
Por Matheus Fernandes em 31/12/1969 21:00:00
Gabarito: d)

Para resolver essa questão, Pedro precisa utilizar o comando SELECT da linguagem SQL para fazer a consulta e gerar o relatório solicitado. Vamos analisar cada opção apresentada:

a) SELECT NOME, CODIGO_MALOTE, DESCRICAO, SITUACAO_MALOTE FROM MALOTES INNER JOIN CONTEUDOS ON (CODIGO_CONTEUDO = CODIGO_CONTEUDO) INNER JOIN FUNCIONARIOS ON (MATRICULA = MATRICULA);
Nesta opção, há um erro na cláusula INNER JOIN, pois não está especificando corretamente a relação entre as tabelas.

b) SELECT NOME, CODIGO_MALOTE, DESCRICAO, SITUACAO_MALOTE FROM MALOTES, CONTEUDOS, FUNCIONARIOS WHERE (CODIGO_CONTEUDO = CODIGO_CONTEUDO) AND (MATRICULA = MATRICULA);
Nesta opção, também há um erro na cláusula WHERE, pois não está especificando corretamente a relação entre as tabelas.

c) SELECT NOME, CODIGO_MALOTE, DESCRICAO, SITUACAO_MALOTE FROM MALOTES INNER JOIN CONTEUDOS INNER JOIN FUNCIONARIOS ON (MALOTES.CODIGO_CONTEUDO = CONTEUDOS.CODIGO_CONTEUDO) ON (MALOTES.MATRICULA = FUNCIONARIOS.MATRICULA);
Nesta opção, há um erro na forma como os INNER JOIN estão sendo utilizados, pois não estão corretamente estruturados.

d) SELECT NOME, CODIGO_MALOTE, DESCRICAO, SITUACAO_MALOTE FROM MALOTES INNER JOIN CONTEUDOS ON (MALOTES.CODIGO_CONTEUDO = CONTEUDOS.CODIGO_CONTEUDO) INNER JOIN FUNCIONARIOS ON (MALOTES.MATRICULA = FUNCIONARIOS.MATRICULA);
Esta é a opção correta. Aqui, os INNER JOIN estão corretamente estruturados, especificando a relação entre as tabelas MALOTES, CONTEUDOS e FUNCIONARIOS de acordo com as chaves primárias e estrangeiras.

e) SELECT NOME, CODIGO_MALOTE, DESCRICAO, SITUACAO_MALOTE FROM MALOTES, CONTEUDOS, FUNCIONARIOS INNER JOIN WHERE (MALOTES.CODIGO_CONTEUDO = CONTEUDOS.CODIGO_CONTEUDO) AND (MALOTES.MATRICULA = FUNCIONARIOS.MATRICULA);
Nesta opção, há um erro na forma como o INNER JOIN está sendo utilizado, pois não está corretamente estruturado.

Portanto, a opção correta é a letra d), que apresenta o comando SELECT corretamente estruturado para a consulta solicitada por Pedro.
⚠️ Clique para ver os comentários

Visualize os comentários desta questão clicando no botão abaixo

Ver comentários
Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência de navegação. Política de Privacidade.