Ontologia de nomeação Datasets e Tabelas - RJ-SMTR/maestro GitHub Wiki

Documentos:

0. Datasets e tabelas com dados "brutos"

Toda nomeação deve seguir a ontologia do Base dos Dados

1. Tabelas com tratamentos básicos

  • Definição: <nome_original>_tratada
  • Manter no dataset original e nomear a tabela com o nome da tabela original + tratada

Exemplos:

  • registros_tratada

1.1 Tabelas com agregações básicas.

São tabelas com informações potencialmente usadas por muitos usuários. Como o número de veículos por hora de uma linha. Essas tabelas normalmente derivam da <nome_original>_tratada

  • Definição: <nome_original>_agg_<unidades_agregadas>
  • Manter no dataset original

Exemplos:

  • registros_agg_linha_hora
  • registro_agg_veiculo_dia

2. Tabelas com filtros temporais devem ter o filtro no nome.

2.1 Para intervalos de algum ponto até hoje, usar o quantidade + unidade.

  • Definição: <nome_tabela>_<qtdade>_<unidade>
    • <qtdade> é um inteiro
    • <unidade> é um valor temporal:
      • minutos
      • horas
      • dias
      • meses
      • anos

Exemplos de sufixo:

  • registros_tratada_7_dias
  • registros_tratada_12_horas
  • registros_tratada_15_minutos

2.2 Tabelas com intervalos fixos.

  • Definição: <nome_original>_<%Y %m %d %H %M %S>

    • Quando há uma omissão da unidade, se assume que todo o intervalo omitido é contemplado.
  • Definição: <nome_original>_<%Y %m %d %H %M %S>_ate_<%Y %m %d %H %M %S>

    • intervalo específico

Exemplos de sufixo:

  • registros_tratada_2021_01_10 → Registros do dia 2021-01-10
  • registros_tratada_2021_01_10_10 → Registros intre 10:00 e 10:59
  • registros_tratada_2021_01_10_ate_2021_02_10 → Registros entre 2021-01-10 e 2021-02-10

3. Tabelas com tratamentos intermediários que não serão usadas por usuários.

Algumas tabelas são resultados intermediários para chegar em na tabela final. Por exemplo, para calcular a velocidade dos veículos é necessário criar uma tabela intermediária para chegar na tabela tratada final.

  • Definição: `aux_<nome_original>_
  • Manter no dataset que da tabela resultado

Exemplos:

  • aux_registros_velocidade

4. Datasets e Tabelas de projetos e dashboards

No caso de dashboards, algumas visões serão necessárias exclusivamente para o dashboard. Por exemplo, os últimos 8 dias de registros de gps. Essa é uma tabela com pouco uso fora desse caso específico.

No caso de projetos, tabelas podem ser criadas dentro de um contexto específico. Por exemplo, a aplicação para gerar a matriz OD terá várias tabelas que vem agregações, consultas e procedimentos. Nesse caso, todas específicas desse projeto

  • Definicão nome do dataset: dashboard_<nome_dashboard> projeto_<nome_projeto>

Exemplos de novos datasets:

  • dashboard_monitoramento_brt
  • projeto_matrix_od

5. Tabelas de transição

Quando precisar alterar nome da tabela, nome de coluna ou conteúdo dos dados seguir esses passos:

  1. Se a nova tabela tiver o mesmo nome da anterior, então criar uma cópia com o prefixo temp_. Se não tiver o mesmo nome, então criar tabela nova, mas não deletar a antiga.
  2. Documentar a mudança e avisar @marcio ou @vitor ou qualquer usuário do serviço
  3. Quando o serviço já estiver adaptado para a nova tabela, tirar o temp_ ou deletar tabela antiga.
⚠️ **GitHub.com Fallback** ⚠️