Acerca de la edición de esquema about-schema-edition
Adobe Campaign emplea esquemas de datos para:
- Definir el modo en que los objetos de datos de la aplicación están vinculados a las tablas de bases de datos subyacentes.
- Definir vínculos entre los diferentes objetos de datos dentro de la aplicación de Campaign.
- Definir y describir los campos individuales incluidos en cada objeto.
Para comprender mejor las tablas integradas de Campaign y su interacción, consulte esta sección.
Ampliación o creación de esquemas extending-or-creating-schemas
Para añadir un campo, un índice u otro elemento a uno de los esquemas de datos principales en Campaign, como la tabla de destinatarios (nms:recipient), debe ampliar ese esquema. Para obtener más información, consulte Ampliación de un esquema sección.
Para añadir un tipo de datos completamente nuevo que no existe de forma predeterminada en Adobe Campaign (por ejemplo, una tabla de contratos), puede crear un esquema personalizado directamente. Para obtener más información, consulte Esquemas de datos sección.
Una vez que haya ampliado o creado un esquema para trabajar con, la práctica recomendada es definir sus elementos de contenido XML en el mismo orden en que aparecen a continuación.
Enumeraciones enumerations
Las enumeraciones se definen primero, antes del elemento principal del esquema. Permiten mostrar valores en una lista para restringir las opciones que el usuario tiene para un campo determinado.
Ejemplo:
<enumeration basetype="byte" name="exTransactionTypeEnum" default="store">
<value label="Website" name="web" value="0"/>
<value label="Call Center" name="phone" value="1"/>
<value label="In Store" name="store" value="2"/>
</enumeration>
Al definir campos, puede utilizar esta enumeración de esta manera:
<attribute desc="Type of Transaction" label="Transaction Type" name="transactionType"
type="string" enum="exTransactionTypeEnum"/>
Para obtener más información sobre las enumeraciones, consulte la Enumeraciones y <enumeration>
elemento secciones.
Index index
Los índices son los primeros elementos declarados en el elemento principal del esquema.
Pueden ser únicos o no y hacer referencia a uno o varios campos.
Ejemplos:
<dbindex name="email" unique="true">
<keyfield xpath="@email"/>
</dbindex>
<dbindex name="lastNameAndZip">
<keyfield xpath="@lastName"/>
<keyfield xpath="location/@zipCode"/>
</dbindex>
El xpath El atributo señala al campo del esquema que desea indexar.
Para obtener más información sobre índices, consulte la Campos indexados sección.
Claves keys
Cada tabla debe tener al menos una clave y, a menudo, se establece automáticamente en el elemento principal del esquema utilizando @autopk=true atributo establecido en "true".
La clave principal también se puede definir utilizando la variable interno atributo.
Ejemplo:
<key name="householdId" internal="true">
<keyfield xpath="@householdId"/>
</key>
En este ejemplo, en lugar de permitir que @autopk atributo crear una clave principal predeterminada denominada "id" estamos especificando nuestra propia clave principal "householdId".
Para obtener más información, consulte la Administración de claves sección.
Atributos (campos) attributes--fields-
Los atributos permiten definir los campos que conforman el objeto de datos. Puede usar el complemento Insert en la barra de herramientas de la edición de esquemas para soltar plantillas de atributos vacías en el XML donde está el cursor. Para obtener más información, consulte Esquemas de datos sección.
La lista completa de atributos está disponible en la <attribute>
elemento sección. Estos son algunos de los atributos más utilizados:
-
@advanced
-
@dataPolicy
-
@por defecto
-
@desc
-
@enum
-
@expr
-
@label
-
@length
-
@name
-
@notNull
-
@required
-
@ref
-
@xml
-
@tipo
Para ver una tabla que enumera las asignaciones para los tipos de datos generados por Adobe Campaign para los distintos sistemas de administración de bases de datos, consulte la Asignación de los tipos de datos de Adobe Campaign/DBMS sección.
Para obtener más información sobre cada atributo, consulte Descripción de atributo sección.
Ejemplos examples
Ejemplo de definición de un valor predeterminado:
<attribute name="transactionDate" label="Transaction Date" type="datetime" default="GetDate()"/>
Ejemplo de uso de un atributo común como plantilla para un campo también marcado como obligatorio:
<attribute name="mobile" label="Mobile" template="nms:common:phone" required="true" />
Ejemplo de un campo calculado que está oculto mediante @advanced atributo:
<attribute name="domain" label="Email domain" desc="Domain of recipient email address" expr="GetEmailDomain([@email])" advanced="true" />
Ejemplo de un campo XML también almacenado en un campo SQL y que tiene un @dataPolicy atributo.
<attribute name="secondaryEmail" label="Secondary email address" length="100" xml="true" sql="true" dataPolicy="email" />
Un campo XML se almacena en un campo memo ("mData") de la tabla.
Sin embargo, un campo calculado se crea dinámicamente cada vez que se inicia una consulta, por lo que solo existe en la capa aplicativa.
Vínculos links
Los vínculos son algunos de los últimos elementos del elemento principal del esquema. Definen cómo se relacionan entre sí todos los distintos esquemas de la instancia.
Los vínculos se declaran en el esquema que contiene la variable clave externa de la tabla a la que está vinculado.
Existen tres tipos de cardinalidad: 1-1, 1-N y N-N. Es el tipo 1-N que se utiliza de forma predeterminada.
Ejemplos examples-1
Ejemplo de vínculo 1-N entre la tabla de destinatarios (esquema predeterminado) y una tabla de transacciones personalizadas:
<element label="Recipient" name="lnkRecipient" revLink="lnkTransactions" target="nms:recipient" type="link"/>
Ejemplo de vínculo 1-1 entre un esquema personalizado "Car" (en el área de nombres "cus") y la tabla de destinatarios:
<element label="Car" name="lnkCar" revCardinality="single" revLink="recipient" target="cus:car" type="link"/>
Ejemplo de una unión externa entre la tabla de destinatarios y una tabla de direcciones basada en la dirección de correo electrónico y no en una clave principal:
<element name="emailInfo" label="Email Info" revLink="recipient" target="nms:address" type="link" externalJoin="true">
<join xpath-dst="@address" xpath-src="@email"/>
</element>
Aquí, "xpath-dst" corresponde a la clave principal del esquema de destino y "xpath-src" corresponde a la clave externa del esquema de origen.
Pista de auditoría audit-trail
Un elemento útil que puede desear incluir en la parte inferior del esquema es un elemento de seguimiento (Pista de auditoría).
Utilice el ejemplo siguiente para incluir campos relacionados con la fecha de creación, el usuario que creó los datos, la fecha y el autor de la última modificación de todos los datos de la tabla:
<element aggregate="xtk:common:auditTrail" name="auditTrail"/>
Actualización de la estructura de la base de datos updating-the-database-structure
Una vez completados y guardados los cambios, cualquier cambio que pueda afectar a la estructura SQL debe aplicarse a la base de datos. Para ello, utilice el asistente de actualización de bases de datos.
Para obtener más información, consulte la sección Actualización de la estructura de la base de datos.