From a6db4b39d0516f8ce5766598b42be8f4daa8e522 Mon Sep 17 00:00:00 2001
From: Edu Trevisan <eht17@inf.ufpr.br>
Date: Mon, 16 Dec 2019 08:25:55 -0300
Subject: [PATCH] Sim

---
 README.md                      |  7 ++--
 Unify_States.sql => brasil.sql |  0
 esf_quilombolas.sql            | 45 --------------------
 groups.py                      | 10 ++++-
 homicidios.sql                 | 75 ++++++++++++++++++++++++++++++++++
 5 files changed, 87 insertions(+), 50 deletions(-)
 rename Unify_States.sql => brasil.sql (100%)
 delete mode 100644 esf_quilombolas.sql
 create mode 100644 homicidios.sql

diff --git a/README.md b/README.md
index 1513f57..123101a 100644
--- a/README.md
+++ b/README.md
@@ -66,9 +66,10 @@ Esse script tem como objetivo facilitar a criação do banco de dados do projeto
 * fies
 * institutionFIES
 
+#### SIM
+* homicidios
+
 #### SEM GRUPO
-* Unify_States
-* esf_quilombolas
+* brasil
 * cad_unico
 * cad_unico_quilombas_metrics
-* esf_quilombolas
\ No newline at end of file
diff --git a/Unify_States.sql b/brasil.sql
similarity index 100%
rename from Unify_States.sql
rename to brasil.sql
diff --git a/esf_quilombolas.sql b/esf_quilombolas.sql
deleted file mode 100644
index a96f767..0000000
--- a/esf_quilombolas.sql
+++ /dev/null
@@ -1,45 +0,0 @@
---
---Copyright (C) 2019 Centro de Computacao Cientifica e Software Livre
---Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
---
---This file is part of SMPPIR-Tables.
---
---SMPPIR-Tables is free software: you can redistribute it and/or modify
---it under the terms of the GNU General Public License as published by
---the Free Software Foundation, either version 3 of the License, or
---(at your option) any later version.
---
---SMPPIR-Tables is distributed in the hope that it will be useful,
---but WITHOUT ANY WARRANTY; without even the implied warranty of
---MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
---GNU General Public License for more details.
---
---You should have received a copy of the GNU General Public License
---along with SMPPIR-Tables.  If not, see <https://www.gnu.org/licenses/>.
---
-
-CREATE TABLE esf_quilombolas AS
-SELECT 
-  brasil.municipio_id AS municipio_id,
-  brasil.nome_municipio AS nome_municipio,
-  brasil.estado_id AS estado_id,
-  brasil.sigla_estado AS sigla_estado,
-  brasil.nome_estado AS nome_estado,
-  brasil.regiao_id AS regiao_id,
-  brasil.nome_regiao AS nome_regiao,
-  equipes_saude.cod_municipio AS id_municipio_equipes,
-  equipes_saude.no_referencia AS nome_equipe,
-  equipes_saude.ano_censo AS ano_censo
-FROM
-  (SELECT municipio_id AS id, (municipio_id / 10) AS id_6 FROM brasil) AS novo_id,
-  equipes_saude,
-  brasil
-WHERE
-  novo_id.id = brasil.municipio_id AND
-  equipes_saude.cod_municipio = novo_id.id_6 AND
-  equipes_saude.tp_pop_assist_quilomb = 1
-ORDER BY
-  equipes_saude.ano_censo,
-  brasil.regiao_id,
-  brasil.estado_id
-;
\ No newline at end of file
diff --git a/groups.py b/groups.py
index 1fd2126..1b11827 100644
--- a/groups.py
+++ b/groups.py
@@ -55,7 +55,11 @@ FIES = [
     'fies.sql',
     'institutionFIES.sql'
 ]
-ALL_GROUPS_SMPPIR = INEP + PROUNI + PNAD + CADUNICO + FIES
+SIM = [
+    'homicidios.sql'
+]
+
+ALL_GROUPS_SMPPIR = INEP + PROUNI + PNAD + CADUNICO + FIES + SIM
 # ---------------------------------------------------------------------------------------#
 
 # ---------------------------------------------------------------------------------------#
@@ -92,6 +96,7 @@ DATA_GROUP = {
     "PNAD": PNAD,
     "CADUNICO": CADUNICO,
     "FIES": FIES,
+    "SIM": SIM,
     "ALL_GROUPS_SMPPIR": ALL_GROUPS_SMPPIR,
     "BASE": BASE,
     "SIMCAQ_AGGREGATE": SIMCAQ_AGGREGATE
@@ -122,5 +127,6 @@ DATABASE_TABLE_NAME = {
     'courseFIES.sql': 'course_fies_ag',
     'fies.sql': 'fies_ag',
     'institutionFIES.sql': 'institution_fies_ag',
-    'idm.sql': 'indice_distribuicao_matriculas'
+    'idm.sql': 'indice_distribuicao_matriculas',
+    'homicidios.sql': 'taxa_homicidios'
 }
diff --git a/homicidios.sql b/homicidios.sql
new file mode 100644
index 0000000..2c2313d
--- /dev/null
+++ b/homicidios.sql
@@ -0,0 +1,75 @@
+CREATE table taxa_homicidios
+AS
+SELECT
+    sim.obito, 
+    pnad.pop_ibge,
+    pnad.pop_pnad,
+    pnad.pop_filtrada as filtro_pnad,
+    cast((cast(pop_ibge as float)/cast(pop_pnad as float))*cast(pop_filtrada as float) as integer) as filtro_ibge,
+    cast(obito as float)*100000/((cast(pop_ibge as float)/cast(pop_pnad as float))*cast(pop_filtrada as float)) as taxa_homicidio,
+    sim.ano_obito as ano,
+    sim."ocor_SIGLA_UF" as uf,
+    sim.def_raca_cor as raca_cor
+FROM
+    (select count(*) as obito, * from sim 
+    where "CIRCOBITO" = 3
+    group by 
+        ano_obito,
+        "ocor_CODIGO_UF",
+        "ocor_SIGLA_UF",
+        def_raca_cor,
+        "RACACOR"
+    ) as sim
+INNER JOIN
+    (select * from 
+        (select * , count(*) as pop_filtrada from 
+            pnad_cont 
+        inner join
+            (select *, count(*) as pop_pnad from pnad_cont 
+            group by ano_censo, cod_uf
+            ) as pnd
+        on 
+            pnad_cont.ano_censo = pnd.ano_censo and
+            pnad_cont.cod_uf = pnd.cod_uf
+        group by 
+            pnad_cont.ano_censo, 
+            pnad_cont.cod_uf, 
+            pnad_cont.cor_raca, 
+            pnd.pop_pnad
+        ) as pnad
+
+    inner join
+
+        (select *, sum(ibge_populacao.populacao) as pop_ibge 
+        from 
+            ibge_populacao 
+        group by 
+            ibge_populacao.estado_id, 
+            ibge_populacao.ano_censo
+        ) as pop
+    on 
+        pnad.ano_censo = pop.ano_censo and
+        pnad.cod_uf = pop.estado_id
+    group by 
+        pnad.ano_censo,
+        pnad.cod_uf,
+        pnad.cor_raca,
+        pop.pop_ibge,
+        pnad.pop_pnad,
+        pnad.pop_filtrada
+    ) as pnad
+ON
+    sim.ano_obito = pnad.ano_censo and
+    sim."ocor_CODIGO_UF" = pnad.cod_uf and
+    sim."RACACOR" = pnad.cor_raca
+group by
+    sim.ano_obito,
+    sim.obito, pnad.pop_filtrada,
+    sim."ocor_SIGLA_UF",
+    sim.def_raca_cor,
+    pnad.pop_ibge,
+    pnad.pop_pnad
+order by
+    sim."ocor_SIGLA_UF",
+    sim.ano_obito
+;
-- 
GitLab