Questão FC369620
Considere a seguinte estrutura de dados criada em SGBD PostgreSQL com extensão espacial PostGIS: 1 create index taxi_idx 2 select distinct taxi, 3 extract(day from t) as dia, 4 max
Sistema de Gerenciamento de Banco de Dados (SGBD)
FGV · 2024
Considere a seguinte estrutura de dados criada em SGBD PostgreSQL com extensão espacial PostGIS:
1 create index taxi_idx
2 select distinct taxi,
3 extract(day from t) as dia,
4 max(t) over p as chegada,
5 min(t) over p as partida
6 from taxi
7 particao p as (partition by taxi, extract(day from
t))
8 select taxi,
9 t,
10 lead(t) over (partition by taxi order by
t) - t as time_gap,
11 st_distance(lead(geom) over (partition by
taxi order by t), geom) as space_gap,
12 geom
13 from taxi
De acordo com o código supracitado, o atributo time_gap é do tipo
- integer.
- interval.
- timestamp.
- real.
- time.
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
Quando se calcula lead(t) over (...) - t, está-se subtraindo dois valores do tipo timestamp. Em PostgreSQL, a diferença entre dois timestamps resulta em um valor do tipo interval, que representa uma duração temporal.
Portanto, o atributo time_gap armazena um interval: a duração entre o instante atual e o próximo registro do mesmo táxi. Esse valor pode conter dias, horas, minutos, segundos e frações.
O interval permite comparações, adições a timestamps (por exemplo, \(t + time\_gap =\) timestamp seguinte) e extrações numéricas via extract, como extract(epoch from time_gap) para obter segundos.
Conteúdo do catálogo FC Concursos · Atualizado em