Projeto desenvolvido como atividade avaliativa para a disciplina de Tópicos Avançados de Banco de Dados (TABD), no curso de Bacharelado em Sistemas de Informação do Instituto Federal de Alagoas (IFAL) - Campus Maceió.
Construir um Data Warehouse (DW) voltado à análise de dados dos acidentes ocorridos nas rodovias federais brasileiras, com foco na identificação de:
- Quantidade de feridos leves, feridos graves e óbitos.
- Rodovias e trechos (KM) com maior incidência de acidentes.
- Principais causas dos acidentes.
- 🧩 Oracle SQL Developer Data Modeler – para a modelagem relacional e dimensional do DW.
- 🗄️ Oracle SQL Developer – para criação e execução dos scripts no banco de dados.
- 📦 Pentaho Data Integration – para processos de ETL (Extract, Transform, Load).
- 📊 Microsoft Power BI – para construção de dashboards interativos.
- 📁 Dados da PRF (gov.br) – utilizados como base primária em formato
.csv.
A modelagem adotada foi o Star Schema (Esquema Estrela), com uma tabela fato central contendo os dados quantitativos e seis tabelas dimensão com informações descritivas.
- Quantidade de acidentes.
- Feridos (leves e graves).
- Óbitos.
dim_data: data do acidente (ano, mês, dia, etc.).dim_periodo: período do dia (dia, noite, amanhecer, etc.).dim_local: estado, município, BR e quilômetro, longitude, latitude.dim_causa: causa do acidente.dim_tipo: tipo de acidente (colisão frontal, atropelamento, etc.).dim_clima: condição climática no momento do acidente (chuva, sol, etc.).
O processo de ETL foi automatizado com o Pentaho. Os dados foram extraídos de arquivos .csv da PRF e dos estados brasileiros, limpos, transformados e carregados no Data Warehouse com:
- Tratamento de dados.
- Criação automática de chaves substitutas (surrogate keys).
- Lookup nas dimensões para gerar a tabela fato.
- Job unificado para executar todas as transformações com um clique.
Dois dashboards interativos foram criados no Power BI para análise dos dados de acidentes a partir das informações carregados no banco de dados:
- Identificação do local do acidente no mapa interativo através de dados de latitude/longitude (incluso no dashboard 2).
- Tabela com o total de mortos, feridos leves/graves.
- Ranking das cidades com mais acidentes.
- Gráficos de linha por tempo (ano, mês, etc.).
- Filtros por data, estado, BR, KM, tipo de acidente, causa do acidente, período do dia e clima (incluso no dashboard 2).
- Tabela com os quilômetros de cada BR com mais acidentes.
- Ranking de causas mais frequentes.
⚠️ Os dados utilizados foram referentes ao ano de 2023, com mais de 67 mil registros.
Certifique-se de ter os softwares instalados:
| Software | Versão mínima | Observações |
|---|---|---|
| Oracle Database | 21c | Usado para o Data Warehouse |
| SQL Developer | Qualquer | Para executar os scripts SQL |
| Pentaho Data Integration (Kettle) | 9.x | Para rodar o ETL |
| Power BI Desktop | Qualquer | Para abrir os dashboards localmente |
| Java (JDK) | 8 ou 11 |
git clone https://github.com/deivisondelmiro/datawarehouse-tabd
cd tabd├── carga\ - Transformações (.ktr) e job (.kjb) do Pentaho
├── csv\ - Dados de entrada em CSV
├── script\ - Script de criação do DWAbra o SQL Developer.
Crie um novo usuário chamado sch_acd com a senha sch_acd.
Execute o script SQL localizado em:
C:\tabd_acidentes\script\script.sqlAbra o Pentaho Data Integration e procure por conexões, confirmando as informações abaixo:
Banco: Oracle
Nome do servidor: localhost
Porta: 1521
Usuário: sch_acd
Senha: sch_acd
Nome do banco: /XEPDB1 (ou o nome que você usa)No Pentaho:
Abra o Job Principal (job.kjb) em C:\tabd_acidentes\carga\job.kjb
Verifique os caminhos dos arquivos .csv em cada transformação (.ktr).
Clique no botão Start (Play).
O processo irá: carregar todas as dimensões, Carregar a tabela fato, opular todo o DW.Abra o Power BI Desktop.
Importe o arquivo .pbix localizado na pasta /BI do projeto.
Os dashboards estão prontos para uso.

