Questão nº 51

Questão de Tecnologia da Informação · FGV CVM 2024 (nº 51)

FGV2024Analista CVM - TI Infraestrutura e Segurança (Perfil 9)Tecnologia da Informação
Gabarito: Ever comentário ↓

João trabalha na filial de uma multinacional no Rio de Janeiro (GMT-3) e recebeu alguns relatórios da sede da empresa localizada na Califórnia (GMT-8). Durante a verificação, João identificou uma tabela com uma coluna que trazia informações de timestamp e timezone da sua filial e não da sede onde o relatório havia sido gerado. João entrou em contato com a sede para relatar o ocorrido, pois, se o relatório foi feito na Califórnia, deveria estar com as configurações de timestamp e timezone da sede. Entretanto, a sede da empresa informou que tabela anexada ao relatório teve seu campo definido como:

Resposta comentada

Gabarito Alternativa E

Quando um banco de dados armazena um timestamp, ele guarda um ponto específico no tempo. A forma como ele lida com fusos horários (timezones) e como exibe essa informação ao usuário é o que diferencia os tipos. O tipo timestamp with local timezone é especial porque ele armazena a data e hora internamente (geralmente em UTC, um fuso horário universal) e, ao exibir, converte automaticamente para o fuso horário da sessão do usuário que está consultando.

  • (A) Incorreta: localtimestamp retorna a data e hora atual do servidor do banco de dados, sem armazenar ou gerenciar fusos horários de forma adaptativa para exibição.
  • (B) Incorreta: current_timestamp é uma função que retorna a data e hora atual da sessão ou do servidor, podendo incluir informações de fuso horário, mas não é um tipo de dado de coluna que armazena e adapta o fuso horário para cada usuário.
  • (C) Incorreta: timestamp (ou timestamp without timezone) armazena apenas a data e hora, sem nenhuma informação de fuso horário. A interpretação de qual fuso horário ela representa depende do contexto ou da aplicação, não havendo conversão automática.
  • (D) Incorreta: timestamp with timezone armazena a data, hora e o fuso horário original em que a informação foi registrada. Ao ser consultado, pode ser exibido com o fuso horário original ou convertido para o fuso horário da sessão, mas a informação do fuso horário original é mantida. A armadilha aqui é que, em alguns sistemas, este tipo também se comporta como o timestamp with local timezone (armazenando UTC e convertendo para a sessão). No entanto, a distinção é que timestamp with local timezone é explicitamente projetado para não reter o fuso horário original, apenas o ponto no tempo, e sempre adaptar à sessão. Se o relatório foi feito na Califórnia e apareceu como se fosse do Rio, significa que o fuso horário original da Califórnia não foi mantido e sim adaptado ao fuso horário de João (Rio).
  • (E) Correta: timestamp with local timezone (conhecido como TIMESTAMP WITH LOCAL TIME ZONE em Oracle ou timestamptz em PostgreSQL, embora com algumas nuances de implementação) armazena a data e hora internamente em um fuso horário de referência (geralmente UTC). Quando João, no Rio (GMT-3), consulta essa coluna, o banco de dados automaticamente converte e exibe a data e hora no fuso horário da sessão dele. Isso explica por que o relatório, gerado na Califórnia (GMT-8), apareceu para João com as configurações de fuso horário do Rio.

Fonte: FGV CVM 2024 Analista CVM - TI Infraestrutura e Segurança (Perfil 9) (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho