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...
💬 Comentários
Confira os comentários sobre esta questão.

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.
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