Gerenciamento de chaves em esquemas management-of-keys
Cada tabela associada a um schema de dados deve ter pelo menos uma chave para identificar um registro em uma tabela. Esta página descreve a chave incremental automática usada nas tabelas do Campaign Classic v7.
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 gerenciamento de chaves, consulte a documentação do Campaign v8.
Chave incremental automática auto-incremental-key
A chave primária da maioria das tabelas do Adobe Campaign é um inteiro longo de 32 bits gerado automaticamente pelo mecanismo de banco de dados. O cálculo do valor da chave depende de uma sequência (por padrão, a função SQL XtkNewId) gerando um número exclusivo no banco de dados inteiro. O conteúdo da chave é inserido automaticamente ao inserir o registro.
A vantagem de uma chave incremental é que ela fornece uma chave técnica não modificável para as associações entre tabelas. Além disso, essa chave não ocupa muita memória porque usa um inteiro de dois bytes.
Você pode especificar no esquema de origem o nome da sequência a ser usada com o atributo pkSequence. Se este atributo não for fornecido no esquema de origem, a sequência padrão XtkNewId será usada. O aplicativo usa sequências dedicadas para os esquemas nms:broadLog e nms:trackingLog (NmsBroadLogId e NmsTrackingLogId, respectivamente) porque essas são as tabelas que contêm mais registros.
A partir do ACC 18.10, XtkNewId não é mais o valor padrão para a sequência nos esquemas prontos para uso. Agora é possível criar um esquema ou estender um esquema existente com uma sequência dedicada.
Uma sequência referenciada em um esquema Adobe Campaign (NmsTrackingLogId, por exemplo) deve ser associada a uma função SQL que retorna o número de IDs nos parâmetros, separadas por vírgulas. Esta função deve ser chamada de GetNew XXX Ids, onde XXX é o nome da sequência (GetNewNmsTrackingLogIds, por exemplo). Exiba os arquivos postgres-nms.sql, mssql-nms.sql ou oracle-nms.sql fornecidos com o aplicativo no diretório datakit/nms/eng/sql/ para recuperar o exemplo de criação de sequência ‘NmsTrackingLogId’ para cada mecanismo de banco de dados.
Para declarar uma chave exclusiva, preencha o atributo autopk (com o valor “true”) no elemento principal do esquema de dados.
Exemplo:
Declaração de uma chave incremental no schema de origem:
<srcSchema name="recipient" namespace="cus">
<element name="recipient" autopk="true">
...
</element>
</srcSchema>
O schema gerado:
<schema mappingType="sql" name="recipient" namespace="cus" xtkschema="xtk:schema">
<element name="recipient" autopk="true" pkSequence="XtkNewId" sqltable="CusRecipient">
<dbindex name="id" unique="true">
<keyfield xpath="@id"/>
</dbindex>
<key internal="true" name="id">
<keyfield xpath="@id"/>
</key>
<attribute desc="Internal primary key" label="Primary key" name="id" sqlname="iRecipientId" type="long"/>
</element>
</schema>
Além da definição da chave e de seu índice, um campo numérico chamado “id” foi adicionado ao esquema estendido para conter a chave primária gerada automaticamente.
Saiba mais
Navegue pelos links a seguir para saber mais:
- Introdução a esquemas
- Estrutura de esquema
- Mapeamento de banco de dados
- Gerenciamento de links (documentação do Campaign v8)
- Modelo de dados do Campaign (documentação do Campaign v8)