Administración de claves en esquemas management-of-keys
Cada tabla asociada con un esquema de datos debe tener al menos una clave para identificar un registro de una tabla. En esta página se describe la clave de incremento automático utilizada en las tablas de Campaign Classic v7.
Como parte de la transición de Campaign v7 a v8, el conjunto de documentación de Campaign Classic se ha optimizado y reorganizado. Ahora, las funciones comunes solo están disponibles en el conjunto de documentación de Campaign v8. Para obtener más información acerca de la administración de claves, consulte la documentación de Campaign v8.
Clave de incremento automático auto-incremental-key
La clave principal de la mayoría de las tablas de Adobe Campaign es un entero de 32 bits generado automáticamente por el motor de la base de datos. El cálculo del valor de clave depende de una secuencia (de forma predeterminada, la función SQL XtkNewId) que genere un número único en toda la base de datos. El contenido de la clave se introduce automáticamente al insertar el registro.
La ventaja de una clave incremental es que proporciona una clave técnica no modificable para las uniones entre tablas. Además, esta clave no ocupa mucha memoria porque utiliza un entero de doble byte.
Puede especificar en el esquema de origen el nombre de la secuencia que se va a utilizar con el atributo pkSequence. Si este atributo no se proporciona en el esquema de origen, se utilizará la secuencia predeterminada XtkNewId. La aplicación usa secuencias dedicadas para los esquemas nms:broadLog y nms:trackingLog (NmsBroadLogId y NmsTrackingLogId respectivamente) porque estas son las tablas que contienen la mayor cantidad de registros.
A partir de la versión 18.10 de ACC, XtkNewId ya no es el valor predeterminado para la secuencia en los esquemas predeterminados. Ahora puede crear un esquema o ampliar el esquema existente con una secuencia dedicada.
Una secuencia a la que se hace referencia en un esquema de Adobe Campaign (NmsTrackingLogId, por ejemplo) debe asociarse con una función SQL que devuelva el número de ID en los parámetros, separados por comas. Esta función debe llamarse GetNew XXX Ids, donde XXX es el nombre de la secuencia (GetNewNmsTrackingLogIds, por ejemplo). Vea los archivos postgres-nms.sql, mssql-nms.sql o oracle-nms.sql proporcionados con la aplicación en el directorio datakit/nms/eng/sql/ para recuperar el ejemplo de creación de secuencia ‘NmsTrackingLogId’ para cada motor de base de datos.
Para declarar una clave única, rellene el atributo autopk (con el valor “true”) en el elemento principal del esquema de datos.
Ejemplo:
Declarar una clave incremental en el esquema de origen:
<srcSchema name="recipient" namespace="cus">
<element name="recipient" autopk="true">
...
</element>
</srcSchema>
El esquema generado:
<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>
Además de la definición de la clave y su índice, se ha añadido un campo numérico llamado “id” al esquema ampliado para contener la clave principal generada automáticamente.
Más información
Examine los siguientes vínculos para obtener más información:
- Introducción a los esquemas
- Estructura del esquema
- Asignación de base de datos
- Administración de vínculos (documentación de Campaign v8)
- Modelo de datos de Campaign (documentación de Campaign v8)