Le caratteristiche di uno schema che fa riferimento a una tabella esistente sono le seguenti:
Non eliminare i campi nella tabella dei destinatari standard, anche se inutili. Ciò potrebbe causare errori comportamentali nel database Adobe Campaign .
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.
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:
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.
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>