Considere a consulta SQL a seguir. SELECT id, nome, ST_AREA(geom) as area FROM tabelageo Para garantir a execução da consulta, o desenvolvedor deve
- A)criar um índice espacial.
Errada, porque indice espacial melhora desempenho de consultas geograficas, mas nao habilita a existencia da funcao ST_AREA.
- B)implementar a função ST_AREA.
Errada, pois o desenvolvedor nao deve implementar manualmente uma funcao padrao de extensão espacial do banco.
- C)substituir a cláusula ST_AREA por AREA.
Errada, porque AREA nao e um substituto generico garantido para ST_AREA e a mudanca de nome nao resolve a falta de suporte espacial.
- D)substituir a cláusula ST_AREA por st_area.
Errada, pois mudar apenas maiusculas/minusculas nao cria suporte espacial e, em muitos bancos, ST_AREA e st_area representam a mesma funcao.
- E)instalar a extensão espacial correspondente.
Certa, porque a consulta depende de recursos geoespaciais disponibilizados por uma extensao espacial instalada no SGBD.
Gabarito: E
Quando a consulta usa uma funcao espacial, nao basta o SQL “normal” estar correto: o banco precisa conhecer esse tipo de recurso. A expressao ST_AREA(geom) pede o calculo da area de uma geometria, algo tipico de bancos com suporte geoespacial, como PostGIS, Spatial Extensions ou equivalentes. Se a extensao espacial correspondente nao estiver instalada e habilitada, o banco simplesmente nao reconhece a funcao ST_AREA e a consulta falha. E isso faz todo sentido: sem a “caixa de ferramentas” espacial, o SGBD sabe ler texto, numero e data, mas nao entende geometria como deveria. Por isso o gabarito e a letra E. Para garantir a execucao da consulta, o desenvolvedor deve instalar a extensao espacial correspondente, que adiciona tipos, funcoes e operadores para trabalhar com dados geograficos. Em termos doutrinarios, isso e a base dos Sistemas de Banco de Dados Geograficos e das extensoes espaciais dos SGBDs relacionais. Ja um indice espacial pode ajudar na performance, mas nao cria funcao nenhuma. E trocar nome de funcao nao resolve quando o recurso nem existe no ambiente. Aqui, a palavra-chave e suporte do sistema, nao truque de sintaxe.