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
- Apenas leitura (
Views disponíveis
| View | Finalidade |
|---|---|
vw_sub_account | Contas e pessoas titulares |
vw_sub_movement | Movimentações financeiras |
vw_sub_plan | Planos de atendimento |
vw_sub_refund | MEDs (devoluções) |
vw_sub_infraction | Infrações reportadas ao Bacen |
vw_sub_account_limit | Limites 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
| Coluna | Descrição |
|---|---|
| account_id | ID da conta |
| account_number | Número da conta |
| account_branch_number | Número da agência |
| plan_id | ID do plano vinculado à conta |
| account_type | Tipo da conta |
| account_sub_type | Subtipo da conta |
| account_status | Status descritivo (INACTIVE, ACTIVE, WAITING_AUTHORIZATION, BLOCKED, REMOVED) |
| account_created_at | Data de criação da conta |
| account_updated_at | Data de atualização da conta |
| account_closed_at | Data de encerramento da conta (quando houver) |
| person_id | ID da pessoa associada |
| person_name | Nome completo da pessoa |
| person_trade_name | Nome fantasia (quando aplicável) |
| person_document | CPF ou CNPJ |
| person_type | Tipo da pessoa (PF / PJ — enum person_type) |
| person_sex | Sexo |
| person_birth_date | Data de nascimento |
| person_employment | Emprego / ocupação |
| person_income | Renda |
| person_marital_status | Estado civil |
| person_nationality | Nacionalidade (iniciais) |
| person_status | Status descritivo da pessoa (INACTIVE, ACTIVE, INCOMPLETE_P1/P2/P3, WAITING_AUTHORIZATION, BLOCKED, REMOVED) |
| person_created_at | Data de criação da pessoa |
| person_updated_at | Data de atualização da pessoa |
| person_removed_at | Data de remoção da pessoa |
| main_address | Endereço principal (logradouro) |
| main_address_complement | Complemento |
| main_address_number | Número |
| main_address_district | Bairro |
| main_address_zip_code | CEP |
| main_address_city | Cidade |
| main_address_state | UF |
| main_email | E-mail principal (contact_type = EMAIL, main = true) |
| main_phone | Telefone principal (contact_type = PHONE, main = true) |
| role | Cargo 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
| Coluna | Descrição |
|---|---|
| transaction_id | ID da transação |
| movement_id | ID do movimento financeiro |
| movement_account_id | ID da conta do movimento |
| movement_related_account_id | Conta relacionada (quando aplicável) |
| movement_payment_type | Tipo de pagamento |
| transaction_type | Tipo da transação (ex.: PIX, TED, MANUAL_ENTRY) |
| transaction_status | Status descritivo (ver lista abaixo) |
| transaction_movement_type | Tipo crédito/débito da transação |
| movement_type | Tipo do movimento (crédito ou débito) |
| movement_amount | Valor do movimento |
| movement_description | Descrição do movimento |
| movement_is_refund | Indica se o movimento é estorno/devolução |
| transaction_created_at | Data de criação da transação |
| transaction_updated_at | Data de atualização da transação |
| transaction_reason | Motivo da transação |
| movement_created_at | Data de criação do movimento |
| movement_updated_at | Data de atualização do movimento |
| movement_payer_name | Nome do pagador |
| movement_payer_document | Documento do pagador |
| movement_payer_ispb | ISPB do pagador |
| movement_payer_branch | Agência do pagador |
| movement_payer_account_type | Tipo de conta do pagador |
| movement_payer_account_number | Número da conta do pagador |
| movement_payee_name | Nome do recebedor |
| movement_payee_document | Documento do recebedor |
| movement_payee_ispb | ISPB do recebedor |
| movement_payee_branch | Agência do recebedor |
| movement_payee_account_type | Tipo de conta do recebedor |
| movement_payee_account_number | Número da conta do recebedor |
| movement_additional_information | Informações adicionais |
| transaction_favored_id | ID do favorecido cadastrado |
| transaction_favored_name | Nome do favorecido |
| transaction_favored_document | Documento do favorecido |
| transaction_favored_account_type | Tipo de conta do favorecido |
| movement_msg_end_to_end_id | End-to-end ID do PIX |
| movement_msg_tx_id | TxId do PIX |
| movement_identifier | Identificador consolidado da operação (end-to-end / devolução) |
Status possíveis (transaction_status)
| Valor | Descrição |
|---|---|
0 - CANCELED | Cancelada |
1 - PROCESSING | Em processamento |
2 - LIQUIDATED | Liquidada |
3 - WAITING_CONFIRMATION | Aguardando confirmação |
4 - ON_QUEUE | Na fila |
5 - REFUNDED | Estornada |
6 - PARTIALLY_REFUNDED | Parcialmente estornada |
7 - WAITING_SETTLEMENTCORE | Aguardando liquidação |
8 - WAITING_APPROVAL | Aguardando aprovação |
Observações
- Para PIX, o identificador retornado em
movement_identifiervaria 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
| Coluna | Descrição |
|---|---|
| plan_id | ID do plano |
| plan_name | Nome do plano |
| plan_status | Status descritivo (INACTIVE, ACTIVE, REMOVED) |
| plan_created_at | Data de criação |
| plan_updated_at | Data de atualização |
| specialist_id | ID do especialista associado |
| specialist_name | Nome 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
| Coluna | Descrição |
|---|---|
| refund_id | Identificador único da solicitação de devolução (MED) |
| refund_transaction_id | ID da transação original associada ao MED |
| refund_account_id | Conta relacionada à solicitação |
| refund_reason | Motivo do pedido |
| refund_details | Detalhes adicionais na abertura do MED |
| refund_amount | Valor solicitado |
| refund_status | Status atual do MED |
| refund_end_to_end_id | End-to-end do fluxo de devolução |
| refund_attempts | Número de tentativas |
| refund_requesting_participant | Participante solicitante |
| refund_contested_participant | Participante contestado |
| refund_analysis_result | Resultado da análise |
| refund_analysis_details | Observações da análise |
| refund_rejection_reason | Motivo da rejeição (quando aplicável) |
| refund_related_id | MED relacionado |
| refund_related_infraction_id | Infração relacionada |
| refund_creation_time | Timestamp lógico de criação do evento |
| refund_created_at | Criação do registro no sistema |
| refund_updated_at | Última atualização do registro |
| transaction_id | ID da transação original |
| transaction_amount | Valor da transação original |
| transaction_created_at | Criação da transação |
| transaction_updated_at | Atualização da transação |
| account_id | ID da conta |
| account_number | Número da conta |
| account_type | Tipo da conta |
| account_branch_number | Agência |
| person_id | ID do titular |
| person_name | Nome do titular |
| account_created_at | Criação da conta |
| account_updated_at | Atualizaçã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
| Coluna | Descrição |
|---|---|
| infraction_id | Identificador único da infração |
| infraction_transaction_id | ID da transação vinculada |
| infraction_account_id | Conta associada |
| infraction_type | Tipo da infração |
| infraction_reported_by | Quem reportou |
| infraction_report_details | Detalhes do reporte |
| infraction_status | Status atual |
| infraction_debit_participant | Participante de débito |
| infraction_credit_participant | Participante de crédito |
| infraction_analysis_result | Resultado da análise |
| infraction_related_id | Infração relacionada |
| infraction_analysis_details | Detalhes da análise |
| infraction_internal_analysis | Análise interna |
| infraction_created_at | Criação do registro |
| infraction_updated_at | Última atualização |
| infraction_creation_time | Horário de criação do evento |
| infraction_payer_name | Nome do pagador |
| infraction_payer_document | Documento do pagador |
| infraction_msg_end_to_end_id | End-to-end da transação |
| infraction_fraud_type | Tipo de fraude (quando aplicável) |
| infraction_contact_email | E-mail de contato para tratamento |
| infraction_contact_phone | Telefone de contato para tratamento |
| transaction_id | ID da transação |
| transaction_amount | Valor da transação |
| transaction_created_at | Criação da transação |
| transaction_updated_at | Atualização da transação |
| account_id | ID da conta |
| account_number | Número da conta |
| account_type | Tipo da conta |
| account_branch_number | Agência |
| person_id | ID do titular |
| person_name | Nome do titular |
| account_created_at | Criação da conta |
| account_updated_at | Atualizaçã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
- Política de ACCOUNT (mesmo
action+channel) vence a de PLAN limit_custom(ajuste do cliente) aplica-se apenas aaction = PIX_SENDechannel = DEFAULT, quandocanceled_at IS NULLestart_at <= now()- Valor customizado é clampado ao teto administrativo
- Para
PIX_SEND, se o limite noturno administrativo estiver nulo, aplica-se o default normativo BCB de R$ 1.000,00
Principais Colunas
| Coluna | Descrição |
|---|---|
| account_id | ID da conta |
| account_number | Número da conta |
| account_branch_number | Agência |
| plan_id | ID do plano da conta |
| plan_name | Nome do plano |
| action | Ação da política (GLOBAL, PIX_SEND, PIX_RECEIVE, BILLET_PAY, TED_SEND, INTERNAL_SEND) |
| channel | Canal (DEFAULT, APP, API) |
| policy_scope | Origem do registro vencedor (ACCOUNT ou PLAN) |
| policy_id | ID da política vencedora |
| policy_revision | Revisão da política |
| approval_per_transaction_amount | Limite de aprovação por transação |
| block_per_transaction_amount | Limite de bloqueio por transação |
| approval_daily_amount | Limite de aprovação diário |
| block_daily_amount | Limite de bloqueio diário |
| approval_monthly_amount | Limite de aprovação mensal |
| block_monthly_amount | Limite de bloqueio mensal |
| block_daytime_amount | Limite de bloqueio diurno |
| block_night_amount | Limite de bloqueio noturno |
| approval_daily_to_favorite_amount | Aprovação diária para favorecido |
| block_daily_to_favorite_amount | Bloqueio diário para favorecido |
| approval_monthly_to_favorite_amount | Aprovação mensal para favorecido |
| block_monthly_to_favorite_amount | Bloqueio mensal para favorecido |
| block_daytime_to_favorite_amount | Bloqueio diurno para favorecido |
| block_night_to_favorite_amount | Bloqueio noturno para favorecido |
| custom_daytime_block | Ajuste do cliente (diurno) |
| custom_night_block | Ajuste do cliente (noturno) |
| custom_daytime_to_favorite_block | Ajuste do cliente (diurno / favorecido) |
| custom_night_to_favorite_block | Ajuste do cliente (noturno / favorecido) |
| resolved_daytime_block | Valor efetivo diurno (admin + custom clampado) |
| resolved_night_block | Valor efetivo noturno (admin + custom + default BCB quando aplicável) |
| resolved_daytime_to_favorite_block | Valor efetivo diurno para favorecido |
| resolved_night_to_favorite_block | Valor efetivo noturno para favorecido |
| night_start | Início da janela noturna da conta (hora local) |
| night_end | Fim da janela noturna da conta (hora local) |
| night_window_start_at | Início de vigência da janela noturna |
| night_window_reason | Motivo da janela noturna |
| policy_created_at | Criação da política vencedora |
| policy_updated_at | Atualização da política vencedora |
Observações
- Para consumo típico de BI, filtre
channel = 'DEFAULT'. - Valores
*_amount/block_*/approval_*já refletemCOALESCE(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_bipara 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.
- Tempo máximo de execução de consultas: 30 segundos
- Se alguma consulta demorar mais de 30s, ela será automaticamente interrompida.
- 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.
- 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
Contato
Em caso de dúvidas ou suporte, entre em contato com:
Time ONZ