Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FGV 2024

Banco de DadosPostgreSQL
Código
fg080019
Banca
FGV
Órgão
DNIT
Ano
2024
Nível
Superior
Cargo
Analista Administrativo Tecnologia da Informação
O PostgreSQL v15 oferece amplo suporte a tipos geométricos.A representação do tipo geográfico closed path e o tamanho alocado para o armazenamento de dados são, respectivamente,
  1. A(x,y) e 8 bytes.
  2. B{ABC} e 16 bytes.
  3. C((x1,y1),(x2,y2)) e 32 bytes
  4. D((x1,y1),...) e 16+16n bytes.
  5. E((x1,y1),(x2,y2),...) e 32+32n bytes.
Revelar gabarito e comentário

GabaritoD — ((x1,y1),...) e 16+16n bytes.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

PostgreSQL: tipos geométricos - path fechado

Gabarito: letra D. O PostgreSQL armazena um closed path (caminho fechado) no formato ((x1,y1), ...) (parênteses duplos) e aloca 16 + 16n bytes, onde n é o número de pontos. Cada ponto ocupa 16 bytes (dois valores double precision de 8 bytes cada) e há um overhead de 16 bytes para a estrutura do path. Essa é a representação padrão do tipo path quando fechado, conforme a documentação oficial do PostgreSQL.

Característica

Closed path (PostgreSQL)

Representação

((x1,y1), ...) (parênteses duplos)

Overhead fixo

16 bytes

Cada ponto

16 bytes (2× double de 8 bytes)

Tamanho total

16 + 16n bytes

Alternativa A — ❌ Incorreta

A representação (x,y) corresponde ao tipo point, e não a um closed path. Além disso, o tamanho de armazenamento de um point é 16 bytes, não 8 bytes. 8 bytes seria o tamanho de um único double, não de um ponto completo.

Alternativa B — ❌ Incorreta

O formato {ABC} não corresponde a nenhum tipo geométrico nativo do PostgreSQL. Os tipos geométricos usam parênteses ou colchetes, não chaves. O tamanho de 16 bytes também não se aplica a closed path.

Alternativa C — ❌ Incorreta

A representação ((x1,y1),(x2,y2)) é a de um closed path com exatamente dois pontos, mas o tamanho alocado seria 16 + 16*2 = 48 bytes, não 32 bytes. O valor 32 bytes seria equivalente a 2 pontos sem overhead, o que não é correto.

Alternativa D — ✅ Correta ⟵ GABARITO

Correta em ambos os aspectos: a representação com parênteses duplos ((x1,y1),...) é a padrão para closed path, e o tamanho de armazenamento é 16 + 16n bytes, sendo 16 bytes fixos (overhead) mais 16 bytes por ponto. Essa fórmula é confirmada pela documentação oficial do PostgreSQL para o tipo path.

Alternativa E — ❌ Incorreta

A representação com parênteses duplos está correta, mas o tamanho de 32 + 32n bytes está errado. Ele superestima o espaço ocupado: cada ponto consome 16 bytes, e não 32. O overhead também é 16, e não 32. O valor correto é 16 + 16n.

Link permanente: /questoes/fg080019