Questão FC369621
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 NULL 3 )
Sistema de Gerenciamento de Banco de Dados (SGBD)
FGV · 2024
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 NULL
3 )
4 COPY waypoint FROM ‘waypoints.csv’
5 WITH DELIMITER AS ‘,’
6 CSV HEADER;
7 ALTER TABLE waypoint
8 ADD COLUMN geom geometry (point);
9 UPDATE waypoint
10 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,
- V – V – V.
- V – F – F.
- V – V – F.
- F – V – V.
- F – V – F.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
1ª afirmação — Falsa. Declarar id_waypoint integer NOT NULL não faz dele automaticamente chave primária. É necessário declarar explicitamente a restrição PRIMARY KEY (ou UNIQUE + NOT NULL). Além disso, não há garantia de geração automática de valores (como serial/sequência), o que também é exigido em muitos cenários de chave.
2ª afirmação — Verdadeira. O bloco entre as linhas 7–10 adiciona a coluna geom do tipo ponto e, em seguida, popula essa coluna com geometria criada por ST_MakePoint(lon, lat), atribuindo o SRID 4326 via ST_SetSRID, portanto incorpora a informação espacial do tipo ponto à tabela.
3ª afirmação — Falsa. ST_SetSRID apenas rotula a geometria com um SRID sem alterar coordenadas; já ST_Transform converte entre sistemas de referência. Trocar ST_SetSRID por ST_Transform seria incorreto se a geometria inicial não tiver SRID definido.
Conteúdo do catálogo FC Concursos · Atualizado em