Pular para o conteúdo principal

Questão de Banco de Dados — SGBD - Sistema de Gerenciamento de Banco de Dados — FGV 2024

Banco de DadosSGBD - Sistema de Gerenciamento de Banco de Dados
Código
fg086223
Banca
FGV
Órgão
INPE
Ano
2024
Nível
Superior
Cargo
Tecnologista Pleno I - Desenvolvimento de Software e Sistemas para Área de Geoinformática
Considere que o objetivo do código a seguir é criar uma base de dados no SGBD PostgreSQL com extensão espacial PostGIS.1 CREATE TABLE waypoint(2 id_waypoint integer NOT NULL3 )4 COPY waypoint FROM ‘waypoints.csv’5 WITH DELIMITER AS ‘,’6 CSV HEADER;7 ALTER TABLE waypoint8 ADD COLUMN geom geometry (point);9 UPDATE waypoint10 SET geom = ST_SetSRID (ST_makepoint (lon, lat), 4326)Em relação ao código supracitado, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.( ) Da forma como foi declarado, id_waypoint atende os critérios necessários para ser chave primária.( ) O bloco de código compreendido entre as linhas 7 e 10 adiciona a parte espacial à base de dados pela criação de um atributo geométrico do tipo ponto.( ) A função ST_SetSRID poderia ser substituída pela função ST_Transform, tendo em vista que a função ST_SetSRID transformará o sistema de coordenadas da camada, pois a geometria foi criada sem definição de sistema na linha 8.As afirmativas são, respectivamente,
  1. AV – V – V.
  2. BV – F – F.
  3. CV – V – F.
  4. DF – V – V.
  5. EF – V – F.
Revelar gabarito e comentário

GabaritoE — F – V – F.

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/PostGIS: Criação de tabela espacial

Gabarito: E (F – V – F). A primeira afirmativa é falsa: a coluna id_waypoint possui apenas NOT NULL, faltando restrição de unicidade (PRIMARY KEY ou UNIQUE) para ser chave primária. A segunda é verdadeira: as linhas 7 a 10 adicionam um atributo geométrico do tipo ponto (geometry(point)) e o populam com coordenadas. A terceira é falsa: ST_SetSRID apenas atribui um SRID à geometria sem transformar coordenadas, ao contrário de ST_Transform que realiza a reprojeção; a afirmação troca o comportamento das funções.

O código apresentado utiliza PostgreSQL com extensão PostGIS. A tabela waypoint é criada com apenas um campo inteiro (id_waypoint integer NOT NULL). Após a carga de dados via COPY, adiciona-se uma coluna geom do tipo geometry(point) (linha 8) e, em seguida, atualizam-se os registros com ST_SetSRID(ST_MakePoint(lon, lat), 4326), onde lon e lat são colunas do arquivo CSV.

Característica

ST_SetSRID

ST_Transform

Efeito principal

Atribui um SRID a uma geometria sem alterar coordenadas

Converte coordenadas de um SRID de origem para um SRID de destino

Altera coordenadas?

Não

Sim

Uso típico

Quando a geometria já está no sistema correto, mas sem SRID definido

Quando a geometria precisa ser reprojetada para outro sistema de referência

Requer SRID de origem?

Não (apenas o SRID de destino)

Sim (SRID de origem e destino)

Análise das afirmativas

Afirmativa I — �️ Falsa

A afirmativa diz que id_waypoint atende os critérios para ser chave primária. Para ser chave primária, uma coluna deve ser NOT NULL e UNIQUE (ou declarada explicitamente como PRIMARY KEY). O código apenas a definiu como NOT NULL, sem qualquer restrição de unicidade. Portanto, não atende.

Afirmativa II — ✅ Verdadeira

O bloco compreendido entre as linhas 7 e 10 executa:

  • ALTER TABLE waypoint ADD COLUMN geom geometry(point); — cria um atributo geométrico do tipo ponto.

  • UPDATE waypoint SET geom = ST_SetSRID(ST_MakePoint(lon, lat), 4326); — popula essa coluna com pontos a partir das coordenadas lon e lat, atribuindo o SRID 4326 (WGS84).

Assim, de fato adiciona a parte espacial à base de dados.

Afirmativa III — ❌ Falsa

A função ST_SetSRID não transforma coordenadas; ela apenas associa um sistema de referência espacial (SRID) a uma geometria que ainda não o possui. Já a função ST_Transform converte coordenadas de um SRID de origem para um SRID de destino. Na linha 9, a geometria gerada por ST_MakePoint não tem SRID definido; ST_SetSRID (com SRID 4326) apenas informa ao sistema que as coordenadas estão em WGS84, mas não altera seus valores. Portanto, a substituição por ST_Transform não seria equivalente, pois esta exigiria que a geometria já tivesse um SRID conhecido e realizaria uma transformação (reprojeção).


Mapeamento das alternativas

As alternativas A a E representam sequências de V/F para as três afirmativas, respectivamente:

  • A: V – V – V

  • B: V – F – F

  • C: V – V – F

  • D: F – V – V

  • E: F – V – F

Com base na análise, a sequência correta é F – V – F, correspondente à alternativa E.

Análise detalhada das alternativas

Alternativa A (V-V-V) — ❌ Incorreta

Afirma que todas as três afirmativas são verdadeiras. As afirmativas I e III são falsas, como demonstrado.

Alternativa B (V-F-F) — ❌ Incorreta

Diz que a primeira é verdadeira (I) e as duas últimas falsas (II e III). Na realidade, a afirmativa II é verdadeira, não falsa. Portanto, errada.

Alternativa C (V-V-F) — ❌ Incorreta

Considera I verdadeira (falsa), II verdadeira (correta) e III falsa (correta). Embora II e III estejam corretas, I é falsa, o que invalida a alternativa.

Alternativa D (F-V-V) — ❌ Incorreta

Avalia I como falsa (correto), II verdadeira (correto) e III verdadeira (mas III é falsa). Logo, incorreta.

Alternativa E (F-V-F) — ✅ Correta ⟵ GABARITO

Sequência exata: I falsa, II verdadeira, III falsa. Bate com a análise.

NÃO CAIA NESSA!

A terceira afirmativa confunde o papel das funções ST_SetSRID e ST_Transform. Muitos candidatos pensam que ST_SetSRID realiza uma transformação, mas ela apenas atribui o sistema de referência sem alterar coordenadas. Lembre-se: Set (definir) ≠ Transform (transformar). Para transformar, a geometria precisa ter um SRID de origem definido.


Gabarito: letra E

Link permanente: /questoes/fg086223