Questão de Banco de Dados — SGBD - Sistema de Gerenciamento de Banco de Dados — FGV 2024
Banco de Dados›SGBD - 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,
AV – V – V.
BV – F – F.
CV – V – F.
DF – V – V.
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_SetSRIDnã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.