Saltar para o conteúdo

Projeto Cuidando do Meu Bairro/Base de dados

Fonte: Wikiversidade
Documentação

Para o público em geral:

Técnica:

Avisos de bugs ou sugestões

Créditos e licenças  


    0%     25%     50%     75%     100%

Guia para a análise e implantação da base de dados

A principal tabela do Cuidando é a que armazena dados da execução orçamentária,

CREATE TABLE execucao (
    code character varying(100) NOT NULL,
    data jsonb,
    point geometry(Point),
    searched boolean
);

No campo data que se encontram todos os dados da planilha de execução, por exemplo as chaves ds_orgao, ds_despesa, ds_fonte e ds_funcao (no SQL acessadas por data->>'ds_orgao', etc.), são utilizadas na apresentação da despesa. O campo point expressa a posição geográfica da despesa no mapa, quando NULL determina despesa do tipo "Não mapeada".

Verificação da estrutura da base

[editar | editar código-fonte]

Comparar assert-data/dump1.sql com o local, gerado por pg_dump logo após a instalação do Gastos Abertos,

pg_dump -h localhost -E UTF8 -U postgres --schema-only base_gastos > dump1-local.sql
diff dump1-local.sql dump1.sql

Dados orçamentários

[editar | editar código-fonte]

A integração do Cuidando com o Gastos Abertos (GA) é de responsabilidade do GA. Para implantar os dados de um novo município no GA, é necessário automatizar a captura periódica desses dados e firmar acordo com o GA, para que ele mantenha o serviço.

Comece baixando todos os dados de execução do município e "normalizando" essas planilhas: neste exemplo de São Paulo apenas os CSVs foram "normalizados".

Para colocar tudo isso no Postgres, pode ser necessário reparar em alguns detalhes:

  • Os dados de execução ganham/perdem colunas ao longo dos anos, inclusive colunas de códigos que precisariam ser usadas para as chaves primárias. Tem sido utilizado o "EAV", para construir "um NoSQL dentro do SQL".
  • os dados de receita e contratos encontram-se em esquemas separados.
  • É preciso instalar a versão correta do PostgreSQL no servidor.
[editar | editar código-fonte]