sexta-feira, 10 de agosto de 2012

Geodemografia meridional analítica

Ignore um pouco o brilhantismo do título e considere esta tabela:

CREATE TABLE MUNICIPIOS (NOME VARCHAR2(50), POPULACAO INTEGER)

Com os dados populacionais dos municípios gaúchos, exercitei um pouco as funções analíticas do Oracle (ou do Postgresql). Temos atualmente 496 municípios (em breve, com o retorno de Pinto Bandeira, serão 497). Em primeiro lugar, enumerei os municípios por ordem decrescente de população e, usando uma função analítica, adicionei uma coluna com a soma de todos os municípios com população menor que o corrente.

select nome, 
       populacao, 
       sum(populacao) 
         over (order by populacao asc rows unbounded preceding)
from municipios
order by populacao desc

Isso nos ajuda a descobrir que os 282 menores municípios têm o primeiro milhão de habitantes. O próximo milhão habita 98 municípios. O terceiro, 45 municípios. O quarto, 28. O quinto, 16. O sexto, 11. Transformar a soma em percentil é fácil (para quem tem senso prático, pelo menos):

select nome, 
       populacao, 
       sum(populacao/10732770) 
         over (order by populacao asc rows unbounded preceding)
from municipios
order by populacao desc

Os 22 maiores municípios (4% do total) são ocupados por 50% da população gaúcha. E os 55 menores municípios (11% do total) têm apenas 1% da população. Os 293 menores municípios (59% do total) têm apenas 10% da população. A média por município é de 21.639 habitantes, mas apenas 76 têm mais que isso (15%). A mediana é de apenas 5.697 habitantes. Se estipulássemos 6 mil habitantes (metade da capacidade da Baixada Melancólica, sede do glorioso Inter de Santa Maria) como o mínimo necessário para constituir um município, restariam apenas 236.