Considere que um banco de dados foi criado para dar apoio à ...

Próximas questões
Com base no mesmo assunto
Q2383210 Banco de Dados
Considere que um banco de dados foi criado para dar apoio à avaliação de instrumentos e políticas de gestão de trânsito no Brasil, nos últimos cinco anos. Os dados foram organizados e persistidos nas três seguintes tabelas, definidas de acordo com modelo relacional de dados: SINISTRO, com dados dos acidentes de trânsito; MUNICIPIO, com dados de municípios; e RODOVIA, com dados de rodovias estaduais e federais.

SINISTRO (cod-sinistro, data-e-hora, localizacao, cod-rodovia, cod-municipio, quantidade-de-vitimas)
RODOVIA (cod-rodovia, nome, estadual-ou-federal)
MUNICIPIO (cod-municipio, uf, quantidade-de-habitantes)
Os atributos que formam as chaves primárias de cada tabela estão sublinhados.
Na tabela SINISTRO, há duas chaves estrangeiras: cod-rodovia, que indica onde ocorreu o sinistro, caso ele tenha ocorrido em uma rodovia, e cod-municipio, que indica em que municipio ocorreu o sinistro.
Nesse contexto, considere o seguinte comando SQL:

SELECT S.cod-rodovia, S.data-e-hora, quantidade-de-vitimas FROM SINISTRO S WHERE S.cod-rodovia IN (                SELECT R.cod-rodovia                FROM RODOVIA R                WHERE R.estadual-ou-federal = 'federal') AND EXISTS (              SELECT *              FROM MUNICIPIO M              WHERE M.cod-municipio = S.cod-municipio              AND M.quantidade-de-habitantes < 50000)

Os resultados produzidos pela execução desse comando apresentam o código da rodovia, a data e hora e a quantidade de vítimas de sinistros ocorridos em
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Resposta correta: B - rodovias federais, em municípios com menos de 50.000 habitantes.

Para resolver essa questão, é necessário compreender a lógica das instruções SQL e o relacionamento entre as tabelas de um banco de dados. A questão apresenta um contexto de um banco de dados com tabelas relacionadas a sinistros de trânsito, municípios e rodovias. Para recuperar informações específicas, é usado um comando SQL com cláusulas WHERE, IN e EXISTS.

O comando SQL na questão está selecionando os registros da tabela SINISTRO que atendem a dois critérios conjuntamente:

  1. A rodovia onde ocorreu o sinistro é federal. Isso é verificado pela subconsulta que retorna os códigos das rodovias federais a partir da tabela RODOVIA. A cláusula IN é utilizada para filtrar os sinistros que ocorreram nessas rodovias.
  2. O município onde ocorreu o sinistro tem menos de 50.000 habitantes. O operador EXISTS é empregado para verificar a existência de um município com essas características na tabela MUNICIPIO, que está relacionado ao sinistro em questão.

A cláusula WHERE do SQL faz uso de ambas as condições acima para filtrar os dados. A alternativa B é a correta porque ela reflete precisamente o que a consulta SQL especifica: estamos selecionando sinistros que ocorreram especificamente em rodovias federais dentro de municípios com menos de 50.000 habitantes. A consulta não se refere a sinistros que ocorreram em rodovias federais que passam por municípios maiores ou menores, nem rodovias federais de forma geral, mas sim, de forma restrita, aos que aconteceram em municípios com a população menor que o valor estipulado.

Para obter a resposta correta, você deve ter uma compreensão sólida da sintaxe SQL, saber como as subconsultas são usadas para filtrar resultados dentro de uma consulta maior e entender como os relacionamentos entre as tabelas funcionam, particularmente o uso de chaves estrangeiras que ligam os sinistros às informações das rodovias e dos municípios.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

B - rodovias federais, em municípios com menos de 50.000 habitantes.rodovias federais que têm como

A) Errada - A subconsulta busca rodovias federais, mas não especifica se o sinistro ocorreu nesses trechos.

C) Errada - A subconsulta não indica que a rodovia deve ter origem ou destino no município mencionado.

D) Errada - A condição envolvendo o município e a quantidade de habitantes não está correta.

E) Errada - Não há critério na consulta para selecionar municípios com duas ou mais rodovias federais.

SELECIONE informações sobre SINISTROS ONDE RODOVIA é Federal E EXISTAM MUNICIPIOS com menos de 5.000 habitantes.

*O erro da letra A é que no comando da questão não fala nada sobre "passar por municípios".

Clique para visualizar este comentário

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