Nomeação
Padrão Geral de Nomeação
Todos os nomes de colunas devem seguir o padrão estruturado:[id_][<entidade>_]<dimensão>[_<unidade>]
Componentes do padrão:
-
id_(Prefixo opcional):- Use apenas para chaves primárias ou estrangeiras que referenciam entidades do Data Lake.
- Exemplo:
id_cnes,id_material,id_municipio.Exceção: Para identificadores amplamente reconhecidos comocpfoucns, o prefixo pode ser omitido para melhor legibilidade.
-
<entidade>_(Prefixo opcional):- Indica a entidade de negócio da coluna, se diferente da entidade principal da tabela. Comum em tabelas desnormalizadas (camada Marts).
- Exemplo: Em uma tabela de
corridasdo Taxi Rio, o nome do motorista seriamotorista_nome. Em uma tabela demotoristasdo Taxi Rio, seria apenasnome.Regra: Em tabelas altamente desnormalizadas, use sempre o prefixo da entidade para todas as colunas, facilitando buscas em BI.
-
<dimensão>(Obrigatório):- Parte central do nome, descreve o atributo, métrica ou característica representada.
- Seja conciso e descritivo. Exemplo:
nome,nascimento,atendimento,logradouro.
-
_<unidade>(Sufixo opcional):- Indica o tipo semântico ou unidade do dado. Melhora a legibilidade e entendimento.
- Sufixos permitidos:
_nome: nomes ou descrições_data: datas_datahora: timestamps/datetime_valor: valores monetários ou numéricos gerais_quantidade: contagens ou quantidades_particao: reservado para campos que particionam a tabela._proporcao: porcentagens (0-100)_taxa: taxas_razao: razões_indicador: booleanos (True/False, 0/1)_tipo: tipos ou classificações_sigla: siglas ou códigosNota: Unidades físicas como_kmou_metropodem aparecer em contextos específicos, mas priorize os sufixos semânticos acima.
id_estabelecimento: chave primária de estabelecimentoestabelecimento_nome: nome do estabelecimentoatendimento_data: data do atendimentoano: ano (dimensão apenas, sem sufixo)id_municipio: chave estrangeira para municípioatendimento_quantidade: quantidade de atendimentoscorrida_valor: valor total pagoativo_indicador: flag de ativoendereco_logradouro_tipo: sigla do tipo de logradouro
Regras Gerais de Nomeação
- Use nomes já presentes no repositório sempre que possível.
- Seja intuitivo, claro e descritivo.
- Use apenas letras minúsculas, sem acentos, conectadas por
_. - Não inclua conectores como
de,da,dos,e,a,em, etc.
Exceções
- Padrões externos: Ao integrar dados de padrões externos (ex: GTFS), pode-se manter a nomenclatura original para interoperabilidade, especialmente em camadas Raw/Staging. Documente esses casos.
Ordenamento das Colunas
Padronize a ordem das colunas para facilitar a exploração e consistência:- Chave primária: Sempre primeiro.
- Ex:
id_atendimento
- Ex:
- Atributos principais da entidade: Descrevem a entidade principal da tabela.
- Ex:
data_atendimento,tipo_atendimento,descricao_ocorrencia
- Ex:
- Grupos de chaves estrangeiras: Agrupe chaves estrangeiras (
id_...) com seus atributos descritivos correspondentes.- Ordene por abrangência (ex: geografia antes de unidade específica).
- Exemplo grupo:
id_paciente,paciente_nome,paciente_data_nascimento
- Metadados de processamento: Informações sobre carga, transformação e timestamps de origem.
- Ex:
data_carga,id_processamento_lote,fonte_dados_origem,data_atualizacao_origem,data_criacao_origem
- Ex:
- Colunas de partição: Colunas criadas para particionamento (geralmente ao final).
- Ex:
ano_particao,mes_particao,data_particao
- Ex:
Representação dos Valores
Limpando STRINGs
- Colunas categóricas: inicial maiúscula e resto minúsculo, com acentos.
- STRINGs não-estruturadas: manter igual aos dados originais.
Formatos de valores
- Decimal: formato americano, i.e. sempre
.(ponto) ao invés de,(vírgula). - Data:
YYYY-MM-DD - Horário (24h):
HH:MM:SS - Datetime (ISO-8601):
YYYY-MM-DDTHH:MM:SS.sssZ - Valor nulo:
""(csv),NULL(Python),NA(R),.ou""(Stata) - Proporção/porcentagem: entre 0-100
Quais variáveis manter, quais adicionar e quais remover
Mantemos nossas tabelas parcialmentenormalizadas, e temos regras para quais variáveis incluirmos em produção. Elas são:
- Remover variáveis já utilizadas como partição. Exemplo: remover
anoedatase a tabela é particionada nessas duas dimensões. - Manter todas as chaves primárias que já vêm com a tabela, mas (1) adicionar chaves estrangeiras relevantes (ex.
id_municipio) e (2) retirar chaves estrangeiras irrelevantes (e.g.regiao).
Dica: Busque sempre o equilíbrio entre normalização e performance de consulta. Evite redundâncias desnecessárias, mas mantenha colunas que facilitam análises frequentes.
