Estruturação da base de dados do SAEB 2017 (Sistema de Avaliação da Educação Básica). Podendo esta base ser encontrada no seguinte link: http://portal.inep.gov.br/educacao-basica/saeb. As informações referentes aos dados, encontra-se no diretório Dicionário. A base de dados referente ao projeto, encontra-se no diretório LaboratorioBD/SAEB, onde estão distribuidos entre os arquivos partaa até partaf. Para os dados brutos no formato CSV, estes estão em LaboratorioBD/Data/Parts onde estão distribuidos entre os arquivos microdados_saeb_2017PARTaa até microdados_saeb_2017PARTah.
Postgress, PgAdmin III+, Python 3.
Para concatenar os dados do diretório /SAEB, utilize o seguinte comando: ** $cat part* > file.zip **
Para concatenar os dados do diretório /Data/Parts, utilize o seguinte comando: ** $cat microdados_saeb_2017PART* > file.zip **
Download e descompactação da base de dados, no link apresentado na descrição.
Análise e estruturação dos dados, com base nas informações contidas no dicionário.
Decomposição dos dados, criação das tabelas seguindo a 3ª forma normal, relacionamento e diagramas SQL.
Para a inserção dos dados das tabelas normalizadas, foram utilizados os códigos apresentados diretório LaboratorioBD/Scripts/Inserts.
- Regiao.sql
- Estado.sql
- Area.sql
- Dependencia_Adm.sql
- Localizacao.sql
- Nivel_Socio_Economico.sql
- Preenchimento_Questionario.sql
- Serie.sql
- Tipo_Prova.sql
- Disciplina.sql
- Turno.sql
Importação dos dados presentes nos arquivos CSV, senguem esta ordem: TS_ITEM.csv, TS_ESCOLA.csv,TS_PROFESSOR.csv, TS_DIRETOR.csv, TS_ALUNOS_3EM_AG.csv, TS_ALUNOS_3EM_ESC.csv, TS_ALUNOS_5EF.csv, TS_ALUNOS_9EF.csv.
Foi utilizado o seguinte código em Python 3, contido no diretório Script/reduce_data.py para a filtragem dos dados e inserção dos mesmos em suas respectivas tabelas.
Para a importação dos dados, foram utilizados os seguintes campos apresentados pela tabela abaixo, utilizando seus respectivos arquivos de dados.
Tabela Banco de Dados | Arquivo de Dados | Campos Utilizados |
---|---|---|
item | TS_ITEM.csv | id_serie tipo_prova disciplina id_serie_item id_bloco id_posicao id_item descritor_habilidade gabarito |
escola | TS_ESCOLA.csv | id_prova_brasil id_uf id_municipio id_escola id_dependencia_adm id_localizacao pc_formacao_docente_inicial pc_formacao_docente_final pc_formacao_docente_medio nivel_socio_economico nu_matriculados_censo_5ef nu_presentes_5ef taxa_participacao_5ef nivel_0_lp5 nivel_1_lp5 nivel_2_lp5 nivel_3_lp5 nivel_4_lp5 nivel_5_lp5 nivel_6_lp5 nivel_7_lp5 nivel_8_lp5 nivel_9_lp5 nivel_0_mt5 nivel_1_mt5 nivel_2_mt5 nivel_3_mt5 nivel_4_mt5 nivel_5_mt5 nivel_6_mt5 nivel_7_mt5 nivel_8_mt5 nivel_9_mt5 nivel_10_mt5 nu_matriculados_censo_9ef nu_presentes_9ef taxa_participacao_9ef nivel_0_lp9 nivel_1_lp9 nivel_2_lp9 nivel_3_lp9 nivel_4_lp9 nivel_5_lp9 nivel_6_lp9 nivel_7_lp9 nivel_8_lp9 nivel_0_mt9 nivel_1_mt9 nivel_2_mt9 nivel_3_mt9 nivel_4_mt9 nivel_5_mt9 nivel_6_mt9 nivel_7_mt9 nivel_8_mt9 nivel_9_mt9 nu_matriculados_censo_3em nu_presentes_3em taxa_participacao_3em nivel_0_lp3 nivel_1_lp3 nivel_2_lp3 nivel_3_lp3 nivel_4_lp3 nivel_5_lp3 nivel_6_lp3 nivel_7_lp3 nivel_8_lp3 nivel_0_mt3 nivel_1_mt3 nivel_2_mt3 nivel_3_mt3 nivel_4_mt3 nivel_5_mt3 nivel_6_mt3 nivel_7_mt3 nivel_8_mt3 nivel_9_mt3 nivel_10_mt3 media_5ef_lp media_5ef_mt media_9ef_lp media_9ef_mt media_3em_lp media_3em_mt in_preenchimento_questionario |
professor | TS_PROFESSOR.csv | id_prova_brasil id_uf id_municipio id_escola id_dependencia_adm id_localizacao id_turma co_professor id_serie in_preenchimento_questionario |
diretor | TS_DIRETOR.csv | id_prova_brasil id_uf id_municipio id_escola id_dependencia_adm id_localizacao in_preenchimento_questionario |
alunos | TS_ALUNO_3EM_AG.csv TS_ALUNO_3EM_ESC.csv TS_ALUNO_5EF.csv TS_ALUNO_9EF.csv |
id_prova_brasil id_regiao id_uf id_municipio6 id_area id_escola6 id_dependencia_adm id_localizacao id_turma id_turno id_serie id_aluno in_situacao_censo in_preenchimento_prova in_presenca_prova id_caderno id_bloco_1 id_bloco_2 tx_resp_bloco_1_lp2 tx_resp_bloco_2_lp2 tx_resp_bloco_1_mt2 tx_resp_bloco_2_mt2 in_proficiencia in_prova_brasil estrato_aneb peso_aluno_lp peso_aluno_mt proficiencia_lp erro_padrao_lp proficiencia_lp_saeb erro_padrao_lp_saeb proficiencia_mt erro_padrao_mt proficiencia_mt_saeb erro_padrao_mt_saeb in_preenchimento_questionario |
Para a inserção destes dados, foi utilizado a opção de import automático dos arquivos de dados no PgAdmin.
Os dados de respostas dos formulários contidos nos mesmos arquivos também foram separados em um novo arquivo, utilizando o código, presente no seguinte arquivo: filter.py
Os questionários respondidos por professores, diretores, alunos e escolas(Responsável pela escola) possuem o mesmo padrão de respostas, mudando apenas o conteúdo das questões e a quantidade das mesmas.
Portanto foi criado a tabela "questionario_geral" que possui uma chave primária única além de 125 campos paras as questões que possuem o seguinte padrão <q001, q002, ... , q125>. Além dessa tabela foram criadas tabelas específicas para cada uma das tabelas citadas inicialmente, essas tabelas possuem o seguinte padrão, uma chave primária, uma chave estrangeira referenciando questionario_geral, e outra chave referenciando sua tabela nativa(escola, aluno, professor, diretor, ...).
O script de criação da tabela de questionário geral encontra-se no seguinte arquivo: Questionario_Geral.sql.
O script de criação dos questionários específicos estão especificados aqui: Questionario_Aluno, Questionario_Diretor, Questionario_Escola, Questionario_Professor.
Para inserção dos dados das tabelas, primeiramente foi feito a filtragem dos dados desses arquivos, usando o código em python descrito no seguinte arquivo: reduce_data.py, e então foram importados os dados primeiramente para a tabela questionario_geral usando a importação automática de arquivo csv do pgAdmin.
Com os dados já inseridos na tabela questionario_geral é necessário a inserção dos dados nas tabelas específicas. Pra isso foi utilizado os seguintes scripts: questionario_aluno.sql, questionario_diretor.sql, questionario_escola.sql, questionario_professor.sql.