Todos os produtos
Search
Central de documentação

Data Management:Expressões de tabelas lógicas

Última atualização: Jun 27, 2026

As expressões de tabelas lógicas definem quais tabelas físicas pertencem a uma tabela lógica. Cada expressão descreve um conjunto de nomes de tabelas por meio de notação de intervalo, passo, enumeração ou distribuição entre bancos de dados.

O DMS oferece suporte a cinco categorias de expressões:

Regras simples

Use regras simples para nomear tabelas com sufixos numéricos sequenciais. O número de dígitos no sufixo corresponde à quantidade de zeros à esquerda na expressão.

Sintaxe

Exemplo

Tabelas geradas

[start-end] — ordem natural

test_[0-7]

test_0, test_1, test_2, test_3, test_4, test_5, test_6, test_7

[0start-0end] — preenchido com zeros, 2 dígitos

test_[00-07]

test_00, test_01, test_02, test_03, test_04, test_05, test_06, test_07

[00start-00end] — preenchido com zeros, 3 dígitos

test_[000-007]

test_000, test_001, test_002, test_003, test_004, test_005, test_006, test_007

[000start-000end] — preenchido com zeros, 4 dígitos

test_[0000-0007]

test_0000, test_0001, test_0002, test_0003, test_0004, test_0005, test_0006, test_0007

[start-end:step] — intervalo com passo

test_[0-8:2]

test_0, test_2, test_4, test_6, test_8

[0start-0end:step] — intervalo com zeros e passo

test_[00-07:3]

test_00, test_03, test_06

Intervalo no meio do nome

test_[00-31]_t

test_00_t, test_01_t, ..., test_31_t

O passo é o incremento entre valores consecutivos de sufixo. Por exemplo, [0-8:2] começa em 0 e incrementa de 2 em 2, gerando 0, 2, 4, 6, 8.

Regras multinível

Use regras multinível para combinar dois ou mais intervalos em uma única expressão. Cada par de colchetes define um intervalo independente. A expressão gera o produto cartesiano de todos os intervalos, ou seja, todas as combinações possíveis de valores de cada colchete.

Por exemplo, [01-12]_[01-31] combina 12 valores de mês com 31 valores de dia, produzindo 12 × 31 = 372 sufixos únicos para nomes de tabelas.

Sintaxe

Exemplo

Tabelas geradas

Dois intervalos

test_[01-12]_[01-31]

12 × 31 = 372 tabelas: test_01_01, test_01_02, ..., test_12_31

Dois intervalos com passos

test_[01-12:2]_[01-31:2]

6 × 16 = 96 tabelas: meses ímpares (01, 03, 05, 07, 09, 11) × dias ímpares (01, 03, ..., 31)

Distribuição particionada entre bancos de dados

O sufixo /n divide um intervalo em n grupos iguais e distribui cada grupo para um banco de dados separado. Use essa sintaxe para espalhar tabelas uniformemente por vários bancos de dados em uma única expressão.

Exemplo: alicom_billing_bill_[0000-0007].zw_add_month_[01-12]_[0000-0063/8]

Essa expressão divide o intervalo de sufixos 0000-0063 (64 valores) em 8 grupos de 8 e cria as seguintes tabelas:

  • alicom_billing_bill_0000.zw_add_month_[01-12]_[0000-0007]

  • alicom_billing_bill_0001.zw_add_month_[01-12]_[0008-0015]

  • ...

  • alicom_billing_bill_0007.zw_add_month_[01-12]_[0056-0063]

Regras de banco de dados e tabelas

Use a notação database.table para definir tabelas que abrangem múltiplos bancos de dados. Esse formato é útil quando o sharding horizontal distribui tabelas por diferentes instâncias de banco de dados.

Sintaxe

Exemplo

Tabelas geradas

Mesma tabela em múltiplos bancos de dados

db_[00-31].test

Tabela test em cada um dos bancos db_00, db_01, ..., db_31 (32 bancos de dados)

Tabelas distribuídas uniformemente entre bancos de dados

db_[00-31].test[0000-1023]

1.024 tabelas (test0000-test1023) distribuídas uniformemente por 32 bancos de dados (32 tabelas por banco)

Regras de enumeração

Use regras de enumeração para especificar valores de sufixo discretos em vez de um intervalo contínuo. Esse recurso é ideal quando a nomenclatura das tabelas não segue um padrão sequencial.

Sintaxe

Exemplo

Tabelas geradas

Enumeração simples

test_[1,3,6,8,9]

test_1, test_3, test_6, test_8, test_9

Múltiplas expressões

test_[1,3,6,8,9],test_[2,4,5,7,10]

Dois conjuntos de tabelas criados e distribuídos juntos

Intervalo e enumeração mistos

test_[1-9:2,10-20:2]

Valores ímpares de 1 a 9 e valores pares de 10 a 20

Regras de enumeração para bancos de dados

Use regras de enumeração para bancos de dados para atribuir tabelas específicas a bancos de dados específicos. Essa abordagem é útil quando diferentes bancos hospedam subconjuntos distintos de tabelas.

Sintaxe

Exemplo

Tabelas geradas

Mesmas tabelas em todos os bancos especificados

db_[00-31].test_[[00-31]]

Tabelas test_00 a test_31 em cada um dos bancos db_00 a db_31. Os colchetes internos [[...]] tratam a expressão entre colchetes como um padrão literal de nome de tabela, sem expandi-la.

Tabelas diferentes em bancos diferentes

db_01.test_[1,2,4,6,7],db_02.test_[2,3,5,7,9],db_03.test_[1,4,6,7,9]

5 tabelas em db_01, 5 tabelas em db_02, 5 tabelas em db_03

Quantidades diferentes de tabelas por banco

db_01.test_[1-7] e db_02.test_[10-15]

7 tabelas em db_01 (test_1-test_7), 6 tabelas em db_02 (test_10-test_15)

Referência de sintaxe de expressões

Elemento

Significado

Exemplo

[start-end]

Intervalo contínuo, ordem natural

[0-7] → 0, 1, 2, 3, 4, 5, 6, 7

[0start-0end]

Intervalo preenchido com zeros

[00-07] → 00, 01, ..., 07

[start-end:step]

Intervalo com tamanho de passo

[0-8:2] → 0, 2, 4, 6, 8

[a,b,c]

Lista de enumeração

[1,3,6] → 1, 3, 6

[start-end/n]

Intervalo dividido em n grupos iguais

[0000-0063/8] → 8 grupos de 8

[[expr]]

Expressão literal na notação de banco de dados

[[00-31]] → padrão de nome de tabela [00-31]

db.table

Notação de banco de dados e tabela

db_[00-31].test