FC ConcursosFC Concursos

Questão FC295882

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 organizado

Linguagem SQL

CESGRANRIO · 2024

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

  1. rodovias federais que passam por municípios com menos de 50.000 habitantes.
  2. rodovias federais, em municípios com menos de 50.000 habitantes.
  3. rodovias federais que têm como origem ou destino municípios com menos de 50.000 habitantes.
  4. município com menos de 50.000 habitantes ou em rodovias federais.
  5. município com menos de 50.000 habitantes com duas ou mais rodovias federais.
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

A consulta retorna o código da rodovia, a data-e-hora e a quantidade-de-vitimas dos sinistros ocorridos em rodovias federais que aconteceram em municípios com menos de 50.000 habitantes.

O filtro IN (na subconsulta sobre RODOVIA) seleciona apenas sinistros cujo cod-rodovia pertence ao conjunto de rodovias marcado como federal.
Em seguida, o predicado EXISTS (com subconsulta correlacionada em MUNICIPIO) verifica se existe um município com mesmo cod-municipio do sinistro e com quantidade-de-habitantes < 50000.

Assim, apenas tuplas de SINISTRO que satisfazem ambas as condições (rodovia federal e município menor que 50.000 habitantes) são projetadas, e a cláusula SELECT retorna os três atributos solicitados.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo