Le caratteristiche di uno schema che fa riferimento a una tabella esistente sono le seguenti:
Non eliminare i campi nella tabella dei destinatari incorporata, anche se sono inutili. Questo può causare errori comportamentali nel database Adobe Campaign.
Gli schemi di origine accettano visualizzare attributo per srcSchema elemento principale. Deve essere utilizzato quando Adobe Campaign viene manipolato nelle tabelle personalizzate. La view="true" attributo indica alla procedura guidata di aggiornamento della struttura del database di ignorare questo schema. È pertanto vietato all’applicazione sincronizzare la tabella, le sue colonne e i suoi 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 forzare i nomi SQL da utilizzare 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 esplicitamente, l'applicazione avrebbe utilizzato CusIndividuale per la tabella, lastName e firstName per le colonne.
In uno schema è possibile compilare solo una parte delle colonne di una tabella esistente. Le colonne non compilate non saranno accessibili all’utente.
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 fa sì che la console visualizzi 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 viene definito come segue:
<dbindex name="name_of_index" unique="true/false"
<keyfield xpath="xpath_1st_field"/
<keyfield xpath="xpath_2nd_field"/
...
</dbindex
Per questo motivo è importante dichiarare gli indici esistenti della tabella personalizzata nello schema corrispondente.
Viene implicitamente dichiarato un indice per ogni dichiarazione di chiave e collegamento dello schema di origine. La dichiarazione dell'indice può essere impedita specificando noDbIndex="true" attributo:
Esempio:
<key internal="true" name="customer" noDbIndex="true">
<keyfield xpath="@customerId"/>
</key>