Show Menu
ARGOMENTI×

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.
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 radice srcSchema . 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 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 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 impedita specificando l'attributo noDbIndex="true" :
Esempio :
<key internal="true" name="customer" noDbIndex="true">
  <keyfield xpath="@customerId"/>
</key>