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.
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
-
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:
- Introdução a esquemas
- Estrutura de esquema
- Gerenciamento de chaves
- Gerenciamento de links (documentação do Campaign v8)