Skip to content

gersonlramos/Postgres-Clean-Process-SuperStore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Postgres Clean Process — SuperStore

Este projeto demonstra um fluxo de exploração e limpeza de dados do conjunto SuperStore em PostgreSQL, com consultas SQL para análise e qualidade de dados. Inclui o diagrama ER, um dicionário de dados resumido e consultas exportadas como arquivos .sql.

Diagrama ER — SuperStore

Objetivo

  • Padronizar tipos e preparar consultas analíticas em Postgres.
  • Disponibilizar consultas reutilizáveis para:
    • Ranking de produtos por categoria (Top 5 por vendas).
    • Imputação de quantity ausente a partir de preço unitário observado.

Esquema e Conexões

  • Tabelas principais: orders, products, returned_orders, people (schema public).
  • Relacionamentos (conforme diagrama):
    • orders.product_idproducts.product_id (Produto da linha).
    • orders.order_idreturned_orders.order_id (Devoluções por pedido/linha).
    • orders.regionpeople.region (Crédito de vendas por região do vendedor).
  • Observações de tipos (conforme dicionário no notebook):
    • orders.order_date: armazenado como TEXT (recomenda-se converter para DATE).
    • Métricas em orders (sales, profit, quantity, discount): DOUBLE PRECISION.

Pré‑requisitos

  • PostgreSQL instalado e acessível (local ou remoto).
  • As quatro tabelas carregadas em public com as colunas esperadas.
  • Um usuário com permissão de SELECT para executar as consultas.

Como usar as consultas

Você pode executar os arquivos .sql diretamente no psql ou no seu cliente SQL preferido.

Exemplo com psql (ajuste DB_NAME, HOST, USER se necessário):

psql -U USER -h HOST -d DB_NAME -f sql/analysis/top_five_products_each_category.sql
psql -U USER -h HOST -d DB_NAME -f sql/cleaning/impute_missing_quantity.sql

Pastas e Arquivos

  • sql/analysis/top_five_products_each_category.sql: retorna o Top 5 de produtos por categoria ordenado por vendas, com lucro agregado.
  • sql/cleaning/impute_missing_quantity.sql: calcula uma calculated_quantity para linhas com quantity nula, usando preço unitário derivado por product_id + discount.

Notas sobre Tipos e Casting

  • Datas em TEXT: para usar datas em filtros/agrupamentos, converta com TO_DATE/TO_TIMESTAMP, por exemplo: TO_DATE(order_date, 'YYYY-MM-DD').
  • Formatos reais: se seus dados tiverem outro formato de data, ajuste a máscara.
  • Agregações numéricas: onde for necessário arredondamento para apresentação, use ROUND(CAST(... AS NUMERIC), 2) conforme feito nas consultas.

Próximos Passos (opcional)

  • Criar VIEW/MATERIALIZED VIEW para materializar os resultados de ranking.
  • Normalizar tipos na origem (e.g., migrar order_date para DATE).
  • Adicionar testes simples de consistência (contagens, NOT NULL, chaves).

Realizado por Gerson Ramos - LinkedIn

About

ste projeto demonstra um fluxo de exploração e limpeza de dados do conjunto SuperStore em PostgreSQL, com consultas SQL para análise e qualidade de dados.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors