Show Menu
TÓPICOS×

Sobre a edição do schema

A Adobe Campaign emprega Schemas de dados para:
  • Definir como os objetos de dados no aplicativo estão vinculados às tabelas de banco de dados subjacentes.
  • Definir links entre os diferentes objetos de dados no aplicativo Campaign.
  • Definir e descrever os campos individuais incluídos em cada objeto.
Para obter uma melhor compreensão das tabelas integradas de Campanha e de suas interações, consulte o modelo de dados de Campaign Classic.

Extensão ou criação de schemas

Para adicionar um campo, índice ou outro elemento a um dos schemas de dados principais na Campanha, como a tabela recipient (nms:recipient), é necessário estender esse schema. For more on this, refer to the Extending a schema section.
Para adicionar um tipo de dados totalmente novo que não existe predefinido no Adobe Campaign (uma tabela de contratos, por exemplo), você pode criar um schema personalizado diretamente. For more on this, refer to the Data schemas section.
Depois de estender ou criar um schema para trabalhar, a prática recomendada é definir seus elementos de conteúdo XML na mesma ordem em que aparecem abaixo.

Enumerações

As listas discriminadas são definidas primeiro, antes do elemento principal do schema. Eles permitem que você exiba valores em uma lista para restringir as opções que o usuário tem para um determinado campo.
Exemplo:
<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>

Ao definir campos, você pode usar essa lista discriminada da seguinte maneira:
<attribute desc="Type of Transaction" label="Transaction Type" name="transactionType" 
type="string" enum="exTransactionTypeEnum"/>

Você também pode empregar listas discriminadas gerenciadas pelo usuário (normalmente em Administration > Platform ) para especificar os valores para um determinado campo. Essas são listas discriminadas globais de modo eficiente e uma escolha melhor se sua lista discriminada puder ser usada fora do schema específico em que você está trabalhando.
Para saber mais sobre listas discriminadas, consulte as seções Listas discriminadas e <enumeration> .

Índice

Os índices são os primeiros elementos declarados no elemento principal do schema.
Eles podem ser exclusivos ou não e fazer referência a um ou mais campos.
Exemplos:
<dbindex name="email" unique="true">
  <keyfield xpath="@email"/>
</dbindex>

<dbindex name="lastNameAndZip">
  <keyfield xpath="@lastName"/>
  <keyfield xpath="location/@zipCode"/>
</dbindex>

O atributo xpath aponta para o campo no seu schema que você deseja indexar.
É importante lembrar que os ganhos de desempenho de leitura do query SQL fornecidos por índices também vêm com uma ocorrência de desempenho nos registros de gravação. Por conseguinte, os índices devem ser utilizados com precaução.
Para obter mais informações sobre índices, consulte a seção Campos indexados.

Teclas

Todas as tabelas devem ter pelo menos uma chave, e muitas vezes são automaticamente estabelecidas no elemento principal do schema usando o atributo @autopk=true definido como "true".
A chave primária também pode ser definida usando o atributo interno .
Exemplo:
<key name="householdId" internal="true">
  <keyfield xpath="@householdId"/>
</key>

Neste exemplo, em vez de permitir que o atributo @autopk crie uma chave primária padrão chamada "id", estamos especificando nossa própria chave primária "homeId".
Ao criar um novo schema ou durante uma extensão de schema, você precisa manter o mesmo valor de sequência da chave primária (@pkSequence) para todo o schema.
Para saber mais sobre chaves, consulte a seção Gerenciamento de chaves .

Atributos (Campos)

Os atributos permitem que você defina os campos que compõem o objeto de dados. Você pode usar o Insert botão na barra de ferramentas da edição do schema para soltar modelos de atributos vazios em seu XML, onde está o cursor. For more on this, refer to the Data schemas section.
A lista completa de atributos está disponível na seção de <attribute> . Estes são alguns dos atributos mais usados:
  • @avançado
  • @dataPolicy
  • @padrão
  • @desc
  • @enum
  • @expr
  • @label
  • @length
  • @name
  • @notNull
  • @obrigatório
  • @ref
  • @xml
  • @type
    Para visualização de uma tabela que lista os mapeamentos para os tipos de dados gerados pela Adobe Campaign para os diferentes sistemas de gerenciamento de banco de dados, consulte a seção Mapeamento dos tipos de dados Adobe Campaign/DBMS.
Para obter mais informações sobre cada atributo, consulte a seção Descrição do atributo.

Exemplos

Exemplo de definição de um valor padrão:
<attribute name="transactionDate" label="Transaction Date" type="datetime" default="GetDate()"/>

Exemplo de uso de um atributo comum como modelo para um campo também marcado como obrigatório:
<attribute name="mobile" label="Mobile" template="nms:common:phone" required="true" />

Exemplo de um campo calculado que está oculto usando o atributo @advanced :
<attribute name="domain" label="Email domain" desc="Domain of recipient email address" expr="GetEmailDomain([@email])" advanced="true" />

Exemplo de um campo XML também armazenado em um campo SQL e que tem um atributo @dataPolicy .
<attribute name="secondaryEmail" label="Secondary email address" length="100" xml="true" sql="true" dataPolicy="email" />

Embora a maioria dos atributos esteja vinculada de acordo com uma cardinalidade de 1 a 1 a um campo físico do banco de dados, esse não é o caso dos campos XML ou computados. Um campo XML é armazenado em um campo de memorando ("mData") da tabela. Entretanto, um campo calculado é criado dinamicamente cada vez que um query é iniciado, portanto, ele só existe na camada aplicativa.

Trilha de auditoria

Um elemento útil que você pode querer incluir na parte inferior do schema é um elemento de rastreamento (Trilha de auditoria).
Use o exemplo abaixo para incluir campos relacionados à data de criação, o usuário que criou os dados, a data e o autor da última modificação para todos os dados na tabela:
<element aggregate="xtk:common:auditTrail" name="auditTrail"/>

Atualização da estrutura do banco de dados

Quando as alterações forem concluídas e salvas, todas as alterações que possam afetar a estrutura SQL deverão ser aplicadas ao banco de dados. Para fazer isso, use o assistente de atualização de banco de dados.
Para obter mais informações, consulte a seção Atualização da estrutura do banco de dados .
Quando as modificações não afetam a estrutura do banco de dados, é necessário apenas gerar novamente os schemas. Para fazer isso, selecione os schemas a serem atualizados, clique com o botão direito do mouse e escolha Actions > Regenerate selected schemas... . For more on this, refer to the Regenerating schemas section.