Mapeamento de banco de dados database-mapping

Esta página descreve como declarar índices nos campos de um esquema.

Como parte da transição do Campaign v7 para o v8, o conjunto de documentações do Campaign Classic foi simplificado e reorganizado. Os recursos comuns agora estão disponíveis apenas no conjunto de documentações do Campaign v8. Para saber mais sobre o mapeamento SQL de esquemas, consulte a documentação do Campaign v8.

imagem

Campos indexados indexed-fields

Os índices permitem otimizar o desempenho das consultas SQL usadas na aplicação.

Um índice é declarado pelo elemento principal do schema de dados.

<dbindex name="name_of_index" unique="true/false">
  <keyfield xpath="xpath_of_field1"/>
  <keyfield xpath="xpath_of_field2"/>
  ...
</key>

Os índices obedecem às seguintes regras:

  • Um índice pode fazer referência a um ou mais campos na tabela
  • Um índice pode ser exclusivo (para evitar duplicatas) em todos os campos se o atributo unique contiver o valor “true”
  • O nome SQL do índice é determinado pelo nome SQL da tabela e pelo nome do índice
NOTE
  • Como padrão, os índices são os primeiros elementos declarados do elemento principal do esquema.

  • Os índices são criados automaticamente durante o mapeamento de tabela (padrão ou FDA).

Exemplo:

  • Adicionar um índice ao endereço de email e à cidade:

    code language-sql
    <srcSchema name="recipient" namespace="cus">
      <element name="recipient">
        <dbindex name="email">
          <keyfield xpath="@email"/>
          <keyfield xpath="location/@city"/>
        </dbindex>
    
        <attribute name="email" type="string" length="80" label="Email" desc="Email address of recipient"/>
        <element name="location" label="Location">
          <attribute name="city" type="string" length="50" label="City" userEnum="city"/>
        </element>
      </element>
    </srcSchema>
    
  • Adicionar um índice exclusivo ao campo de nome “id”:

    code language-sql
    <srcSchema name="recipient" namespace="cus">
      <element name="recipient">
        <dbindex name="id" unique="true">
          <keyfield xpath="@id"/>
        </dbindex>
    
        <dbindex name="email">
          <keyfield xpath="@email"/>
        </dbindex>
    
        <attribute name="id" type="long" label="Identifier"/>
        <attribute name="email" type="string" length="80" label="Email" desc="Email address of recipient"/>
      </element>
    </srcSchema>
    

Saiba mais

Navegue pelos links a seguir para saber mais:

recommendation-more-help
campaign-classic-help