Skip to content

Latest commit

 

History

History
250 lines (145 loc) · 11.4 KB

README.md

File metadata and controls

250 lines (145 loc) · 11.4 KB

Data Warehouse : Convenção de Nomenclatura Metodologia Kimball

✔️Objetivo: Estudar a nomenclatura de DW baseado na Metodologia Kimball

O que realizamos? Nessa tarefa criamos uma tabela produto no sistema OLTP e transferimos os seus dados para a tabela dimproduto no sistema OLAP. Nossa intenção é automatizar esse ETL através de uma DAG no Airflow. Através do mapeamento, padronizamos os nomes das colunas de acordo com as recomendações do Kimballl Group , reescrevendo os nomes dos campos na tabela de destino. Também realizamos o mapeamento para que cada campo na tabela de origem aponte para o respectivo item na tabela de destino.

📌Encontre o script dessa tarefa aqui.

📌 Encontre o how to do aqui.

📌 Encontre o DDL da tabela relacional e a dimensional aqui

WORKFLOW RESUMIDO


1.Design de Esquema OLTP: Projetar a tabela produto do banco de dados transacional para uma organização financeira.
2.Implementação OLTP: Criação da tabela e outros objetos no banco de dados transacional.
3.Design de Esquema DW: Projeta o esquema do Data Warehouse de acordo com a convenção de nomenclatura DW.
4.ETL: implementar o processo ETL para mover os dados do OLTP para o DW usando pandas e Airflow.
5.População do DW: Dados são carregados nas tabelas dimensionais.

Informação Detalhe
Atividade Essa atividade faz parte das tarefas da disciplina de Fundamentos e Projetos de BIG DATA - Modelagem Dimensional, do curso de pós-graduação em Inteligência Analítica e Ciência de Dados, sob coordenação da profa. Regina Batista.
Pós-graduação Inteligência Analítica e Ciência de Dados
Centro de Ensino UnimetroCamp Wyden
Período 1º período
Datas Jun/2024 a Jun/2025
Repositório Todos os trabalhos desenvolvidos durante o curso podem ser encontrados aqui: Repositório da pós

A Metodologia Kimball


A Metodologia de Ralph Kimball se concentra na Modelagem Dimensional e enfatiza a importância de um designe intuitivo, bem estruturado e orientado ao Negócio. Significando dizer que deve ser de fácil uso para análise. Embora o Kimball Group não estabeleça uma lista rígida de convenções de nomenclatura, ele defende princípios gerais que estão alinhados com as seguintes diretrizes:

  • Clareza e Descritividade: Kimball enfatiza a importância de nomes claros e descritivos para facilitar a compreensão por parte dos usuários e desenvolvedores.

  • Consistência: A consistência na nomenclatura é um princípio fundamental para garantir que o Data Warehouse seja fácil de manter e compreender.

  • Uso de Prefixos: O uso de prefixos como dim para tabelas dimensionais e fato para tabelas de fatos reflete as práticas recomendadas de Kimball para ajudar a distinguir rapidamente o tipo de tabela e seu propósito no esquema.

Esses princípios são cruciais para manter a consistência, clareza e organização, facilitando a compreensão e manutenção dos dados por todos que vão interagir com eles.

1️⃣ PADRONIZAÇÃO DE NOMES E ESTRUTURA -TABELAS E COLUNAS:

Tabela de Origem (OLTP) Tabela de Destino sem a Nomenclatura Kimball (OLAP) Tabela de Destino com a Nomenclatura Kimball (OLAP)
produto DimProduto dimproduto
idproduto sk_produto sk_produto
nome_produto idproduto codigo_produto
descricao nome_produto nome_produto
tipo_produto tipo_produto descricao_produto
valor_minimo valor_minimo categoria_produto
valor_maximo valor_maximo valor_minimo_produto
numero_parcelas_maximo numero_parcelas_maximo valor_maximo_produto
condicoes_especiais condicoes_especiais max_parcelas_produto
condicoes_especiais_produto

2️⃣ TABELAS:

  • Uso de prefixos para identificar a tabela:

fato: A tabela fato deve vir acompanhada do prefixo fato.

dim: A tabela dimensão deve vir acompanhada do prefixo dim.

​ Exemplo: dimproduto (ou dim_produto), fato_vendas (ou fatovendas)

  • Uso de plural e singular:

Tabela dimensional: no singular como em dimcontrato , dimproduto

Tabela fato: A tabela fato no plural como em fatovendas

  • Descrição: os nomes devem ser descritivos, autoexplicativos sobre o conteúdo da tabela e sem abreviações.

3️⃣ COLUNAS


  • Prefixos de chaves:

**sk:**para chaves substitutas (surrogate keys), como em sk_cliente.

pk: para chaves naturais ou primárias como em pk_venda.

fk: para chaves estrageiras, como em fk_produto

  • Clareza: Colunas devem refletir claramente seu conteúdo ou função, como nome_cliente, data_venda, valor_total.

  • Sem abreviações ambíguas ou obscura: deve ser clara, objetiva e com significado amplamente reconhecido pela equipe. Como em valor_totalou data_venda.

4️⃣ NOMES de ÍNDICES E RESTRIÇÕES:


  • Índice: Use prefixos como idx_ seguido pelo nome da tabela e coluna. Como em ìdx_dimcliente_nome.

  • Chaves primárias: prefixo ``pk_seguido pelo nome da tabela. Como empk_dimcliente`

  • Chave estrangeira: prefixo fk_ seguido pelo nome da tabela de origem e destino. Como em fk_fato_vendas_cliente

6️⃣NOME DE SCRIPTS E PROCEDURES


  • Ação e Contexto: Nomeie os scripts e as procedures com uma ação seguida do contexto, como emsp_insere_cliente, fn_calcula_venda, fn_atualiza_pagamento.

7️⃣ PADRONIZAÇÃO DE VALORES E CONVERSÃO DE TIPOS:


❌ Nos meus estudos os principais e recorrentes erros estavam ligados ao formato inadequado dos dados, ao uso de maiúscula e minúscula e a falta e ineficiência de mapeamento de campos. Por isso considero este um tópico importante a ser discutido.

  • Padronização de Valores: os valores devem ser padronizados,por exemplo valores numéricos devem estar no mesmo formato, e a mesma convenção de maiúsculas/minúsculas.
  • Conversão de Tipos de Dados: converter tipos de dados, como transformar um TEXT em VARCHAR ou garantir que datas estejam no formato adequado.

8️⃣ USO DE UNDERLINES


Pode ser usado para separar palavras em nomes de tabelas, colunas e outras entidades para melhorar a legibilidade.

Documente sua convenção de nomenclatura para garantir que todos os envolvidos no projeto a sigam e compreendam ou siga a convenção da organização da qual você faz parte. O importante é definir ou seguir uma convenção clara, organizada e consistente.

FERRAMENTAS:

Airflow

Docker-compose

PostgresSGDB

PostegresPgADMIN

REFERÊNCIAS


📌 MONTEIRO, Vivian. Conceito de Business Intelligence e seu componente Data Warehouse

📌 MONTEIRO, Vivian. Conceitos básicos de Modelagem DImensional

📌 MONTEIRO, Vivian. Projeto Físico de Modelo Dimensional

📌KimballGroup - Dimensional Modeling Techniques

📌 Kimball Group - Data Warehouse -Business Inteligence