Skip to main content

Documentação de Visões para BI - Banco Digital

O schema bancodigital_bi foi criado com o objetivo de disponibilizar uma camada específica de dados voltada para consultas analíticas e geração de relatórios. Ele reúne informações consolidadas, desnormalizadas e organizadas a partir das tabelas transacionais do Banco Digital, facilitando o trabalho dos analistas de dados e garantindo maior segurança e performance nas consultas.

O principal objetivo desse ambiente é permitir o consumo de dados para construção de dashboards, relatórios gerenciais e análises de negócio, evitando o acesso direto às tabelas operacionais do sistema. As views expostas neste schema foram modeladas para atender as necessidades de BI e fornecer uma base confiável, estável e adequada para alimentar ferramentas de visualização e monitoramento de dados.

⚠️ Observação:

As consultas realizadas neste ambiente devem sempre ser feitas em chunks (faixas) de período — utilizando filtros de data — para garantir performance e evitar sobrecarga do banco de dados transacional. Os dados devem ser extraídos e movidos para uma base de análise dedicada (data lake, data warehouse ou base local de BI) antes de serem utilizados em visualizações ou análises mais pesadas.

Esquema: bancodigital_bi

Este espaço documenta as views de dados disponibilizadas para consumo dos analistas no contexto de BI do Banco Digital.

O objetivo deste schema é disponibilizar dados confiáveis e prontos para análise, evitando consultas diretas às tabelas transacionais.


Informações Gerais​

  • Esquema: bancodigital_bi
  • Usuário de acesso: bancodigitalbi
  • Permissões:
    • Apenas leitura (SELECT)
    • Sem permissões de escrita ou administração
    • Acesso restrito às views documentadas
    • Sem acesso ao schema public

Views disponíveis​

ViewFinalidade
vw_sub_accountContas e pessoas titulares
vw_sub_movementMovimentações financeiras
vw_sub_planPlanos de atendimento
vw_sub_refundMEDs (devoluções)
vw_sub_infractionInfrações reportadas ao Bacen
vw_sub_account_limitLimites efetivos por conta (nova estrutura)

vw_sub_account — Contas e Pessoas​

View que consolida informações de contas e os dados principais da pessoa associada (titular), incluindo endereço e contatos principais.

Finalidade​

Permitir consultas analíticas de dados cadastrais de contas, pessoas, endereço e contatos.

Principais Colunas​

ColunaDescrição
account_idID da conta
account_numberNúmero da conta
account_branch_numberNúmero da agência
plan_idID do plano vinculado à conta
account_typeTipo da conta
account_sub_typeSubtipo da conta
account_statusStatus descritivo (INACTIVE, ACTIVE, WAITING_AUTHORIZATION, BLOCKED, REMOVED)
account_created_atData de criação da conta
account_updated_atData de atualização da conta
account_closed_atData de encerramento da conta (quando houver)
person_idID da pessoa associada
person_nameNome completo da pessoa
person_trade_nameNome fantasia (quando aplicável)
person_documentCPF ou CNPJ
person_typeTipo da pessoa (PF / PJ — enum person_type)
person_sexSexo
person_birth_dateData de nascimento
person_employmentEmprego / ocupação
person_incomeRenda
person_marital_statusEstado civil
person_nationalityNacionalidade (iniciais)
person_statusStatus descritivo da pessoa (INACTIVE, ACTIVE, INCOMPLETE_P1/P2/P3, WAITING_AUTHORIZATION, BLOCKED, REMOVED)
person_created_atData de criação da pessoa
person_updated_atData de atualização da pessoa
person_removed_atData de remoção da pessoa
main_addressEndereço principal (logradouro)
main_address_complementComplemento
main_address_numberNúmero
main_address_districtBairro
main_address_zip_codeCEP
main_address_cityCidade
main_address_stateUF
main_emailE-mail principal (contact_type = EMAIL, main = true)
main_phoneTelefone principal (contact_type = PHONE, main = true)
roleCargo do vínculo pessoa–conta (people_accounts.cargo)

Observações​

  • Status de conta e pessoa são retornados já tratados como texto.
  • Contatos e endereços retornados são apenas os principais ativos (main = true, status = ACTIVE).
  • Enums recentes (DBA-592): person_type, contact_type, record_status.

vw_sub_movement — Movimentações Financeiras​

View que consolida dados transacionais e movimentos financeiros das contas.

Finalidade​

Permitir consultas detalhadas sobre movimentações financeiras, transações PIX, TED, estornos, devoluções e mais.

Principais Colunas​

ColunaDescrição
transaction_idID da transação
movement_idID do movimento financeiro
movement_account_idID da conta do movimento
movement_related_account_idConta relacionada (quando aplicável)
movement_payment_typeTipo de pagamento
transaction_typeTipo da transação (ex.: PIX, TED, MANUAL_ENTRY)
transaction_statusStatus descritivo (ver lista abaixo)
transaction_movement_typeTipo crédito/débito da transação
movement_typeTipo do movimento (crédito ou débito)
movement_amountValor do movimento
movement_descriptionDescrição do movimento
movement_is_refundIndica se o movimento é estorno/devolução
transaction_created_atData de criação da transação
transaction_updated_atData de atualização da transação
transaction_reasonMotivo da transação
movement_created_atData de criação do movimento
movement_updated_atData de atualização do movimento
movement_payer_nameNome do pagador
movement_payer_documentDocumento do pagador
movement_payer_ispbISPB do pagador
movement_payer_branchAgência do pagador
movement_payer_account_typeTipo de conta do pagador
movement_payer_account_numberNúmero da conta do pagador
movement_payee_nameNome do recebedor
movement_payee_documentDocumento do recebedor
movement_payee_ispbISPB do recebedor
movement_payee_branchAgência do recebedor
movement_payee_account_typeTipo de conta do recebedor
movement_payee_account_numberNúmero da conta do recebedor
movement_additional_informationInformações adicionais
transaction_favored_idID do favorecido cadastrado
transaction_favored_nameNome do favorecido
transaction_favored_documentDocumento do favorecido
transaction_favored_account_typeTipo de conta do favorecido
movement_msg_end_to_end_idEnd-to-end ID do PIX
movement_msg_tx_idTxId do PIX
movement_identifierIdentificador consolidado da operação (end-to-end / devolução)

Status possíveis (transaction_status)​

ValorDescrição
0 - CANCELEDCancelada
1 - PROCESSINGEm processamento
2 - LIQUIDATEDLiquidada
3 - WAITING_CONFIRMATIONAguardando confirmação
4 - ON_QUEUENa fila
5 - REFUNDEDEstornada
6 - PARTIALLY_REFUNDEDParcialmente estornada
7 - WAITING_SETTLEMENTCOREAguardando liquidação
8 - WAITING_APPROVALAguardando aprovação

Observações​

  • Para PIX, o identificador retornado em movement_identifier varia conforme o tipo de mensagem (PACS008, PACS004, etc.).
  • Transações de refund possuem tratamento especial nas colunas de status e identificador.
  • Sempre filtrar por período (transaction_created_at / movement_created_at) ao extrair dados.

vw_sub_plan — Planos de Atendimento​

View que consolida os planos cadastrados e o especialista associado.

Finalidade​

Consultas cadastrais de planos utilizados para tipificar atendimento e vínculos de conta.

Principais Colunas​

ColunaDescrição
plan_idID do plano
plan_nameNome do plano
plan_statusStatus descritivo (INACTIVE, ACTIVE, REMOVED)
plan_created_atData de criação
plan_updated_atData de atualização
specialist_idID do especialista associado
specialist_nameNome do especialista

vw_sub_refund — Devolução (MED)​

View com informações sobre os MEDs (Mecanismo Especial de Devolução) enviados ao Banco Central.

Finalidade​

Analisar solicitações de devolução PIX, contas/pessoas envolvidas e resultado da análise.

Principais Colunas​

ColunaDescrição
refund_idIdentificador único da solicitação de devolução (MED)
refund_transaction_idID da transação original associada ao MED
refund_account_idConta relacionada à solicitação
refund_reasonMotivo do pedido
refund_detailsDetalhes adicionais na abertura do MED
refund_amountValor solicitado
refund_statusStatus atual do MED
refund_end_to_end_idEnd-to-end do fluxo de devolução
refund_attemptsNúmero de tentativas
refund_requesting_participantParticipante solicitante
refund_contested_participantParticipante contestado
refund_analysis_resultResultado da análise
refund_analysis_detailsObservações da análise
refund_rejection_reasonMotivo da rejeição (quando aplicável)
refund_related_idMED relacionado
refund_related_infraction_idInfração relacionada
refund_creation_timeTimestamp lógico de criação do evento
refund_created_atCriação do registro no sistema
refund_updated_atÚltima atualização do registro
transaction_idID da transação original
transaction_amountValor da transação original
transaction_created_atCriação da transação
transaction_updated_atAtualização da transação
account_idID da conta
account_numberNúmero da conta
account_typeTipo da conta
account_branch_numberAgência
person_idID do titular
person_nameNome do titular
account_created_atCriação da conta
account_updated_atAtualização da conta

vw_sub_infraction — Infrações​

View com infrações reportadas ao Banco Central no âmbito do PIX.

Finalidade​

Analisar infrações, contas/pessoas envolvidas, contatos de tratamento e resultado da análise.

Principais Colunas​

ColunaDescrição
infraction_idIdentificador único da infração
infraction_transaction_idID da transação vinculada
infraction_account_idConta associada
infraction_typeTipo da infração
infraction_reported_byQuem reportou
infraction_report_detailsDetalhes do reporte
infraction_statusStatus atual
infraction_debit_participantParticipante de débito
infraction_credit_participantParticipante de crédito
infraction_analysis_resultResultado da análise
infraction_related_idInfração relacionada
infraction_analysis_detailsDetalhes da análise
infraction_internal_analysisAnálise interna
infraction_created_atCriação do registro
infraction_updated_atÚltima atualização
infraction_creation_timeHorário de criação do evento
infraction_payer_nameNome do pagador
infraction_payer_documentDocumento do pagador
infraction_msg_end_to_end_idEnd-to-end da transação
infraction_fraud_typeTipo de fraude (quando aplicável)
infraction_contact_emailE-mail de contato para tratamento
infraction_contact_phoneTelefone de contato para tratamento
transaction_idID da transação
transaction_amountValor da transação
transaction_created_atCriação da transação
transaction_updated_atAtualização da transação
account_idID da conta
account_numberNúmero da conta
account_typeTipo da conta
account_branch_numberAgência
person_idID do titular
person_nameNome do titular
account_created_atCriação da conta
account_updated_atAtualização da conta

vw_sub_account_limit — Limites por Conta​

View com os limites efetivos por conta, baseada na nova estrutura de limites (limit_policy, limit_custom, limit_account_night_window).

Finalidade​

Consultar, por conta (account_id / account_number), as políticas de limite ativas por ação e canal, incluindo ajustes do cliente nas janelas PIX e a janela noturna vigente.

Grain​

Uma linha por combinação (account_id, action, channel) com política ativa aplicável.

Hierarquia de resolução​

  1. Política de ACCOUNT (mesmo action + channel) vence a de PLAN
  2. limit_custom (ajuste do cliente) aplica-se apenas a action = PIX_SEND e channel = DEFAULT, quando canceled_at IS NULL e start_at <= now()
  3. Valor customizado é clampado ao teto administrativo
  4. Para PIX_SEND, se o limite noturno administrativo estiver nulo, aplica-se o default normativo BCB de R$ 1.000,00

Principais Colunas​

ColunaDescrição
account_idID da conta
account_numberNúmero da conta
account_branch_numberAgência
plan_idID do plano da conta
plan_nameNome do plano
actionAção da política (GLOBAL, PIX_SEND, PIX_RECEIVE, BILLET_PAY, TED_SEND, INTERNAL_SEND)
channelCanal (DEFAULT, APP, API)
policy_scopeOrigem do registro vencedor (ACCOUNT ou PLAN)
policy_idID da política vencedora
policy_revisionRevisão da política
approval_per_transaction_amountLimite de aprovação por transação
block_per_transaction_amountLimite de bloqueio por transação
approval_daily_amountLimite de aprovação diário
block_daily_amountLimite de bloqueio diário
approval_monthly_amountLimite de aprovação mensal
block_monthly_amountLimite de bloqueio mensal
block_daytime_amountLimite de bloqueio diurno
block_night_amountLimite de bloqueio noturno
approval_daily_to_favorite_amountAprovação diária para favorecido
block_daily_to_favorite_amountBloqueio diário para favorecido
approval_monthly_to_favorite_amountAprovação mensal para favorecido
block_monthly_to_favorite_amountBloqueio mensal para favorecido
block_daytime_to_favorite_amountBloqueio diurno para favorecido
block_night_to_favorite_amountBloqueio noturno para favorecido
custom_daytime_blockAjuste do cliente (diurno)
custom_night_blockAjuste do cliente (noturno)
custom_daytime_to_favorite_blockAjuste do cliente (diurno / favorecido)
custom_night_to_favorite_blockAjuste do cliente (noturno / favorecido)
resolved_daytime_blockValor efetivo diurno (admin + custom clampado)
resolved_night_blockValor efetivo noturno (admin + custom + default BCB quando aplicável)
resolved_daytime_to_favorite_blockValor efetivo diurno para favorecido
resolved_night_to_favorite_blockValor efetivo noturno para favorecido
night_startInício da janela noturna da conta (hora local)
night_endFim da janela noturna da conta (hora local)
night_window_start_atInício de vigência da janela noturna
night_window_reasonMotivo da janela noturna
policy_created_atCriação da política vencedora
policy_updated_atAtualização da política vencedora

Observações​

  • Para consumo típico de BI, filtre channel = 'DEFAULT'.
  • Valores *_amount / block_* / approval_* já refletem COALESCE(ACCOUNT, PLAN).
  • Colunas resolved_* são as mais adequadas para “limite efetivo” sob a ótica do motor de limites.
  • Exemplo:
SELECT account_id, account_number, action, channel, policy_scope,
block_daily_amount, resolved_night_block, night_start, night_end
FROM bancodigital_bi.vw_sub_account_limit
WHERE channel = 'DEFAULT'
AND account_number = 123456;

Regras e Boas Práticas​

  • Sempre utilizar as views do schema bancodigital_bi para construção de relatórios e dashboards.
  • Não realizar consultas diretamente nas tabelas transacionais.
  • Utilizar filtros adequados (ex.: data de criação) para garantir performance nas consultas.
  • Em caso de necessidade de novos campos ou ajustes, abrir demanda para o time de Dados.
  1. Tempo máximo de execução de consultas: 30 segundos
    • Se alguma consulta demorar mais de 30s, ela será automaticamente interrompida.
  2. Desconexão automática de sessões ociosas em transações: após 30 segundos
    • Conexões ociosas em transação aberta são encerradas automaticamente.
  3. Limite de até 4 conexões simultâneas para o usuário de BI
    • Evita sobrecarga do banco transacional pelo consumo de BI.

Justificativa Técnica e de Segurança​

As regras e medidas são adotadas por razões de segurança e governança operacional, com o objetivo de:

  • Minimizar riscos de interferência do ambiente BI no banco transacional
  • Reduzir uso abusivo de recursos (CPU, memória e locks)
  • Aumentar a resiliência e estabilidade do banco de dados
  • Garantir que ferramentas de BI operem de forma controlada

Documentação Técnica​

Regras de Acesso do usuário: bancodigital_bi


Conectando ao banco de dados​

Conectando ao BD


Contato​

Em caso de dúvidas ou suporte, entre em contato com:

Time ONZ