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,
  • I nomi delle tabelle e delle colonne devono essere specificati esplicitamente,
  • Gli indici devono essere dichiarati.
IMPORTANTE

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

Attributo di visualizzazione

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.

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 forzare i nomi SQL da utilizzare immettendo i seguenti attributi:

  • sqltable all’interno dell’elemento principale dello schema, per specificare la tabella,
  • sqlname all’interno di ogni 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 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.

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 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>

In questa pagina