Skip to content

luanayasmim/dataset-analysis

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

197 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📊 Projeto de Gerenciamento de Dados de Vacinação

Este repositório contém scripts SQL e documentação para o gerenciamento de um banco de dados relacional voltado ao armazenamento e análise de dados de vacinação.

O projeto visa extrair insights valiosos e responder a perguntas de negócio cruciais relacionadas à demografia dos pacientes, distribuição geográfica, características das vacinas e dos estabelecimentos de saúde, e às estratégias de vacinação, utilizando dados públicos de vacinação.


📖 Índice

  1. Contexto
  2. Fontes de Dados
  3. Planejamento
  4. Estrutura do Dataset
  5. Objetivo
  6. Plano de Análise de Dados
  7. Modelagem de Dados
  8. Guia de Importação de Dados

📌 Contexto

O projeto utiliza um dataset real de vacinação, contendo informações detalhadas sobre:

  • Pacientes
  • Vacinas
  • Estabelecimentos de saúde
  • Doses aplicadas
  • Estratégias de imunização
  • Outros dados relevantes para o controle da vacinação

🔗 Fontes de Dados

📂 Acesso ao Dataset

Para acessar o dataset, siga um dos caminhos abaixo:

  • Pelo site:

    1. Abra o link do Dataset.
    2. Vá até a aba Recursos.
    3. Localize o dataset Vacinação - Janeiro 2025 (CSV).
  • Download direto:
    Baixar dataset no Google Drive


🗂️ Planejamento


🧩 Estrutura do Dataset

O dataset possui diversas colunas representando informações sobre pacientes, vacinas e unidades de saúde.

📄 Para a lista completa, consulte o dicionário de dados.

Exemplos de colunas:

  • CodigoRacaCorPaciente
  • CodigoPaisPaciente
  • CodigoEtniaIndigenaPaciente
  • NomeMunicipioPaciente
  • CodigoPaciente
  • CodigoNaturezaEstabelecimento
  • CodigoDocumento
  • CodigoDoseVacina
  • CodigoVacinaFabricante

🎯 Objetivo

  • Facilitar o armazenamento, consulta e análise dos dados de vacinação.
  • Permitir estudos epidemiológicos e comparativos.
  • Apoiar a tomada de decisão em saúde pública.

📊 Plano de Análise de Dados

Principais Perguntas e Questões a Serem Respondidas

  1. 👥 Perfil Demográfico

    • Quem são os vacinados em termos de idade, gênero e outras características populacionais?
  2. 🪶 População Indígena

    • Qual a proporção de pacientes indígenas vacinados e como estão distribuídos por etnias?
  3. 🌎 Cobertura Geográfica

    • Como está a distribuição das vacinas por estado e município?
  4. 🏙️ Municípios em Destaque

    • Quais cidades apresentam os maiores e os menores números de aplicações?
  5. 💉 Etapas da Vacinação

    • Qual a quantidade de doses aplicadas por fase (1ª, 2ª e reforço)?
  6. 🏭 Fabricantes

    • Quais vacinas são mais utilizadas e qual a participação de cada fabricante?
  7. 🏥 Locais de Aplicação

    • Como se distribuem as aplicações entre UBS, hospitais e outros estabelecimentos?
  8. 📈 Evolução Temporal

    • Como o número de doses aplicadas evoluiu ao longo do tempo?

📂 Material completo
Para acessar todas as perguntas detalhadas, junto com as tabelas e fontes de dados relacionadas, consulte o documento completo em: Plano de Análise de Dados

Modelagem de Dados

📐 Modelo Lógico

🔗 Abrir no Lucidchart

Diagrama Modelo Lógico

💾 Modelo Físico

🔗 Abrir no Lucidchart

Diagrama modelo Físico

📋 Guia de Importação de Dados

Este guia demonstra como carregar dados de um arquivo CSV para uma tabela no SQL Server utilizando o comando BULK INSERT.


🔹 Passo a Passo da Importação

1️⃣ Criar a Tabela no SQL Server

Antes de importar os dados, certifique-se de que a tabela destino já exista no banco de dados.

➡️ Utilize o script SQL disponível em:
📄 create_geral.sql


2️⃣ Importar os Dados do Arquivo CSV

Com a tabela criada, você pode importar os dados do arquivo CSV utilizando o comando BULK INSERT.

📄 Exemplo disponível no arquivo bulk_insert.sql.

⚠️ Atenção: verifique se o caminho de importação definido no comando é o mesmo do arquivo CSV no seu sistema.

BULK INSERT vacinacao_jan_2025    
FROM 'D:\vacinacao_jan_2025.csv' -- Caminho do arquivo CSV (Exemplo)
WITH (
    FIELDTERMINATOR = ';',    -- Separador de campos 
    ROWTERMINATOR = '0x0d0a', -- quebra de linha em formato hexadecimal
    FIRSTROW = 2,             -- Ignora a primeira linha (cabeçalho)
    TABLOCK,                  -- Otimiza a inserção em lote
    CODEPAGE = '1252'         -- Necesssário para tratar os dados (Acentos e etc)

);

3️⃣ Populando os dados nas tabelas

Após importar todos os dados a partir do arquivo CSV, é hora de populá-los nas tabelas correspondentes do banco de dados.

Siga as etapas abaixo na ordem recomendada:

🗃️ Criação das tabelas

Execute o script script_create_database.sql

  • Para gerar a estrutura completa do banco de dados (tabelas, chaves primárias e estrangeiras).

⚙️ Criação da trigger de logs

Utilize o script trigger.sql

  • Para configurar o mecanismo de registro automático de alterações nas tabelas.

📥 Inserção dos dados

Execute o script inserts.sql ou insert_procedures.sql

  • Para inserir os registros importados nas tabelas correspondentes.

🧾 Criação das views

Por último, crie todas as views executando o script views.sql

  • Essas views facilitam consultas, análises e agregações de dados a partir das tabelas já populadas.

🧩 4️⃣ Backup do Banco de Dados

Nesta etapa, disponibilizamos o backup completo do banco de dados para facilitar a restauração e o uso do projeto em seu ambiente local.

💡 Dica: Certifique-se de ter o SQL Server Management Studio (SSMS) instalado e permissões adequadas para restaurar bancos de dados.


⚙️ Como restaurar o banco de dados

  1. Baixe o arquivo .bak disponível neste link Backup.
  2. Abra o SSMS e conecte-se à sua instância do SQL Server.
  3. Execute o comando abaixo no painel de consultas, ajustando o caminho conforme o local onde o .bak foi salvo.
-- 🔁 Restaura o banco a partir do arquivo .bak
RESTORE DATABASE [DB_VACINACAO]
FROM DISK = 'C:\SeuDiretorio\DB_VACINACAO_FULL_2025-10-30.bak' -- ⚠️ Verifique o caminho
WITH 
    MOVE 'DB_VACINACAO' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\DB_VACINACAO.mdf', -- Verifique se o caminho para o .mdf exista
    MOVE 'DB_VACINACAO_log'  TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\DB_VACINACAO_log.ldf', -- Verifique se o caminho para o .ldf exista
    REPLACE,    -- Sobrescreve o banco existente (se houver)
    RECOVERY,   -- Deixa o banco pronto para uso
    STATS = 10  -- Exibe o progresso da restauração
GO

💡 OBS¹: Se o SQL Server impedir a restauração por conexões ativas, coloque o banco em modo single user:

ALTER DATABASE [DB_VACINACAO] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

💡 OBS²: Após concluir a restauração, retorne o banco para o modo multiusuário:

ALTER DATABASE [DB_VACINACAO] SET MULTI_USER;

Dashboard

Disponibilizamos um dashboard para mostrar alguns dos dados obtidos.

Passo a passo para executar a Dashboard

Important

Para executar a Dashboard, é importante que tenha Python em sua máquina na versão 3.12.0

1️⃣ Baixe o arquivo main.py e instale suas dependências

Instale as dependências a seguir:

  • pip install pyodbc streamlit pandas plotly

2️⃣ Executar arquivo

Execute com o seguinte comando:

  • streamlit run main.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TSQL 94.4%
  • Python 5.6%