Colunas esparsas com valores múltiplos

Aplica-se a: Windows | Windows Server

Colunas esparsas com valores múltiplos

As colunas esparsas podem ter comprimento fixo ou variável e são exclusivas, pois não ocuparão espaço em um registro se forem NULL ou forem deixadas para o valor padrão. Colunas esparsas, também conhecidas como colunas marcadas, podem conter mais de um valor em um único registro. As colunas marcadas podem ser qualquer um dos tipos de colunas descritos nas constantes JET_coltyp . Eles são criados quando a coluna é adicionada à tabela definindo o sinalizador JET_bitColumnTagged na estrutura JET_COLUMNDEF na chamada para JetAddColumn ou na estrutura JET_COLUMNCREATE usada na chamada para JetCreateTableColumnIndex ou JetCreateTableColumnIndex2. Colunas do tipo JET_coltypLongText e JET_coltypLongBinary são criadas automaticamente como colunas marcadas.

Somente colunas marcadas podem conter vários valores em um registro, colunas de comprimento fixo ou variável podem não conter vários valores. Há dois tipos de colunas com valores múltiplos:

  • As colunas marcadas têm vários valores por padrão. Quando um segundo valor é adicionado à coluna, ele se torna automaticamente de vários valores.

  • Colunas marcadas que são criadas com a opção JET_bitColumnMultiValued na estrutura JET_COLUMNDEF na chamada para JetAddColumn.

A opção JET_bitColumnMultiValued altera a maneira como a coluna é indexada. Colunas com valores múltiplos com a opção JET_bitColumnMultiValued são indexadas mais extensivamente do que colunas com valores múltiplos marcadas. Essas colunas são indexadas sobre todos os valores na coluna de valores múltiplos, enquanto as colunas de valores múltiplos marcadas são indexadas apenas sobre o primeiro valor na coluna de valores múltiplos. Por exemplo, considere uma coluna de vários valores em que a opção JET_bitColumnMultiValued está definida e é a primeira coluna com valores múltiplos em um índice. Esta coluna contém três valores: A, B e C. Um índice sobre essa coluna contém entradas para todos os três valores, A, B e C. Se a opção JET_bitColumnMultiValued não tiver sido definida, o índice nessa coluna conterá apenas o primeiro valor, A, no índice.