Questão nº 57
Questão de Tecnologia da Informação · FGV DNIT 2024 (nº 57)
FGV2024Analista Administrativo - Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Dver comentário ↓
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,
- A(x,y) e 8 bytes.
- B{ABC} e 16 bytes.
- C((x1,y1),(x2,y2)) e 32 bytes
- D((x1,y1),...) e 16+16n bytes. (alternativa correta)
- E((x1,y1),(x2,y2),...) e 32+32n bytes.
Resposta comentada
Gabarito Alternativa D
No PostgreSQL, um tipo geométrico é uma forma de armazenar dados espaciais, como pontos, linhas e polígonos. Um caminho fechado (path) é uma sequência de pontos conectados onde o último ponto é implicitamente ligado ao primeiro, formando uma figura fechada (como um polígono).
- (A) Incorreta:
(x,y)representa um ponto (point), não um caminho fechado. Um ponto ocupa 16 bytes (doisfloat8de 8 bytes cada), não 8 bytes. - (B) Incorreta:
{ABC}não é uma representação padrão para tipos geométricos no PostgreSQL. O tamanho de 16 bytes é para um ponto ou segmento de linha, não para um caminho fechado. - (C) Incorreta:
((x1,y1),(x2,y2))representa um segmento de linha (lseg) ou uma caixa (box), que são definidos por exatamente dois pontos. O tamanho de 32 bytes está correto para esses tipos (dois pontos, cada um com 16 bytes).
Armadilha da banca: O aluno pode confundir um caminho fechado com um segmento de linha por ambos envolverem pontos e parênteses. A pegadinha é que um caminho fechado pode ter qualquer número de pontos (pelo menos 3 para formar um polígono não degenerado), não apenas dois, tornando seu tamanho variável. - (D) Correta: A representação
((x1,y1),...)é a forma padrão de descrever um caminho (path) no PostgreSQL, onde...indica que há uma sequência de múltiplos pontos. Para ser um "caminho fechado", o PostgreSQL interpreta que o último ponto se conecta ao primeiro.
O tamanho alocado é calculado como um cabeçalho fixo mais o espaço para cada ponto. Cada ponto(x,y)é armazenado como dois números de ponto flutuante de dupla precisão (float8), cada um com 8 bytes, totalizando 16 bytes por ponto. A fórmula16+16nbytes indica um cabeçalho de 16 bytes (que inclui informações como o número de pontos e se o caminho é fechado, além de alinhamento) mais $16n$ bytes paranpontos. - (E) Incorreta: A representação
((x1,y1),(x2,y2),...)é redundante, pois((x1,y1),...)já implica múltiplos pontos. A fórmula de tamanho32+32nbytes está incorreta, pois cada ponto(x,y)ocupa 16 bytes, não 32 bytes.
Fonte: FGV DNIT 2024 Analista Administrativo - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.