Caratteristiche di uno schema

Le caratteristiche di uno schema che fa riferimento a una tabella esistente sono le seguenti:

  • Adobe Campaign non deve modificare gli oggetti SQL relativi alle tabelle esistenti,
  • È necessario specificare esplicitamente i nomi delle tabelle e delle colonne,
  • Gli indici devono essere dichiarati.
IMPORTANTE

Non eliminare i campi nella tabella dei destinatari standard, anche se inutili. Ciò potrebbe causare errori comportamentali nel database Adobe Campaign .

L'attributo view

Gli schemi di origine accettano l'attributo view per l'elemento srcSchema principale. Deve essere utilizzato quando Adobe Campaign viene manipolato in tabelle personalizzate. L'attributo view="true" indica alla procedura guidata di aggiornamento della struttura del database di ignorare questo schema. Pertanto, all'applicazione non è consentito sincronizzare la tabella, le relative colonne e i relativi indici con lo schema corrispondente.

Quando questo attributo è impostato su true, lo schema viene utilizzato solo per generare query SQL per accedere ai dati di questa tabella.

Nomi di tabelle e colonne

Quando le tabelle vengono create dalla procedura guidata di aggiornamento delle tabelle, i nomi delle tabelle e delle colonne vengono generati automaticamente in base ai nomi dei rispettivi schemi e attributi. È tuttavia possibile imporre l'uso dei nomi SQL immettendo i seguenti attributi:

  • ​sqltable all'interno dell'elemento principale dello schema, per specificare la tabella,
  • ​sqlname all'interno di ciascun attributo, per specificare le colonne.

Esempio:

<element label="Individual" name="individual" sqltable="individual">
    <key internal="true" name="id">
      <keyfield xpath="@id"/>
    </key> 
    <attribute name="id" type="long" length="32" />
    <attribute name="lastName" type="string" length="100" sqlname="Last_Name"/>
    <attribute name="firstName" type="string" length="100" sqlname="First_Name"/>
    <attribute name="email" type="string" length="100"/>
    <attribute name="mobile" type="string" length="100"/>
</element>

In questo esempio, se i nomi delle tabelle e delle colonne non fossero stati specificati in modo esplicito, l'applicazione avrebbe utilizzato CusIndividuale per le colonne, lastName e firstName per le colonne.

In uno schema, è possibile compilare solo una parte delle colonne di una tabella esistente. Le colonne non popolate non saranno accessibili agli utenti.

Campi indicizzati

Quando si ordinano i record di un elenco dalla console client, si ottengono prestazioni migliori ordinando i campi indicizzati. La dichiarazione di un indice in uno schema consente alla console di visualizzare i campi indicizzati con una linea rossa sotto la freccia dell'ordinamento a sinistra dell'etichetta della colonna, come illustrato di seguito:

In uno schema, un indice è definito come segue:

<dbindex name="name_of_index" unique="true/false"
  <keyfield xpath="xpath_1st_field"/
  <keyfield xpath="xpath_2nd_field"/
  ...
</dbindex

Per questo è importante dichiarare gli indici esistenti della tabella personalizzata nello schema corrispondente.

Un indice è implicitamente dichiarato per ogni dichiarazione di chiave e collegamento dello schema di origine. La dichiarazione dell'indice può essere evitata specificando l'attributo noDbIndex="true":

Esempio:

<key internal="true" name="customer" noDbIndex="true">
  <keyfield xpath="@customerId"/>
</key>

In questa pagina

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free