Show Menu
ARGOMENTI×

Informazioni sulla modifica degli schemi

Adobe Campaign utilizza gli schemi dati per:
  • Definire il modo in cui gli oggetti dati all’interno dell’applicazione sono legati alle tabelle del database sottostanti.
  • Definire i collegamenti tra i diversi oggetti dati all’interno dell’applicazione Campaign.
  • Definire e descrivere i singoli campi inclusi in ciascun oggetto.
Per una migliore comprensione delle tabelle integrate in Campaign e della loro interazione, fai riferimento al modello dati Campaign Classic.

Estensione o creazione di schemi

Per aggiungere un campo o un indice o un altro elemento a uno degli schemi di dati di base in Campaign, come la tabella dei destinatari (nms:destinatario), è necessario estendere tale schema. For more on this, refer to the Extending a schema section.
Per aggiungere un tipo completamente nuovo di dati che non esiste out-of-the-box in Adobe Campaign (ad esempio una tabella di contratti), è possibile creare direttamente uno schema personalizzato. For more on this, refer to the Data schemas section.
Dopo aver esteso o creato uno schema in cui lavorare, è consigliabile definirne gli elementi di contenuto XML nello stesso ordine in cui vengono visualizzati di seguito.

Enumerazioni

Le enumerazioni sono definite per prime, prima dell'elemento principale dello schema. Consentono di visualizzare i valori in un elenco al fine di limitare le scelte che l'utente ha per un dato campo.
Esempio:
<enumeration basetype="byte" name="exTransactionTypeEnum" default="store">
<value label="Website" name="web" value="0"/>
<value label="Call Center" name="phone" value="1"/>
<value label="In Store" name="store" value="2"/>
</enumeration>

Quando si definiscono i campi, è quindi possibile utilizzare questa enumerazione come segue:
<attribute desc="Type of Transaction" label="Transaction Type" name="transactionType" 
type="string" enum="exTransactionTypeEnum"/>

È inoltre possibile utilizzare enumerazioni gestite dall'utente (in genere in Administration > Platform ) per specificare i valori per un dato campo. Si tratta di enumerazioni globali efficaci e di una scelta migliore se l'enumerazione può essere utilizzata al di fuori dello schema specifico in uso.
Per ulteriori informazioni sulle enumerazioni, fare riferimento alle sezioni Enumerazioni ed <enumeration> .

Indice

Gli indici sono i primi elementi dichiarati nell'elemento principale dello schema.
Possono essere univoci o meno e fare riferimento a uno o più campi.
Esempi:
<dbindex name="email" unique="true">
  <keyfield xpath="@email"/>
</dbindex>

<dbindex name="lastNameAndZip">
  <keyfield xpath="@lastName"/>
  <keyfield xpath="location/@zipCode"/>
</dbindex>

L'attributo xpath punta al campo nello schema che si desidera indicizzare.
È importante tenere presente che i miglioramenti delle prestazioni di lettura della query SQL forniti dagli indici generano anche un hit di prestazioni nella scrittura dei record. È pertanto opportuno utilizzare gli indici con cautela.
Per ulteriori informazioni sugli indici, consultare la sezione Campi indicizzati.

Tasti

Ogni tabella deve avere almeno una chiave e spesso viene automaticamente stabilita nell'elemento principale dello schema utilizzando l'attributo @autopk=true impostato su "true".
La chiave primaria può essere definita anche utilizzando l'attributo interno .
Esempio:
<key name="householdId" internal="true">
  <keyfield xpath="@householdId"/>
</key>

In questo esempio, invece di consentire all'attributo @autopk di creare una chiave primaria predefinita denominata "id", stiamo specificando la chiave primaria "familyId".
Durante la creazione di un nuovo schema o durante un'estensione dello schema, è necessario mantenere lo stesso valore di sequenza della chiave primaria (@pkSequence) per l'intero schema.
Per ulteriori informazioni sulle chiavi, consulta la sezione Gestione delle chiavi .

Attributi (campi)

Gli attributi consentono di definire i campi che compongono l'oggetto dati. È possibile utilizzare il Insert pulsante nella barra degli strumenti dell'edizione dello schema per rilasciare modelli di attributi vuoti nel codice XML in cui si trova il cursore. For more on this, refer to the Data schemas section.
L'elenco completo degli attributi è disponibile nella sezione degli <attribute> . Di seguito sono riportati alcuni degli attributi più comunemente utilizzati:
  • @advanced
  • @dataPolicy
  • @default
  • @desc
  • @enum
  • @expr
  • @label
  • @length
  • @name
  • @notNull
  • @requirements
  • @ref
  • @xml
  • @type
    Per visualizzare una tabella in cui sono elencati i mapping per i tipi di dati generati da Adobe Campaign per i diversi sistemi di gestione del database, fare riferimento alla sezione Mapping dei tipi dati Adobe Campaign/DBMS.
Per ulteriori informazioni su ciascun attributo, fare riferimento alla sezione Descrizione Descrizione attributo attributo.

Esempi

Esempio di definizione di un valore predefinito:
<attribute name="transactionDate" label="Transaction Date" type="datetime" default="GetDate()"/>

Esempio di utilizzo di un attributo comune come modello per un campo contrassegnato come obbligatorio:
<attribute name="mobile" label="Mobile" template="nms:common:phone" required="true" />

Esempio di campo calcolato nascosto utilizzando l'attributo @advanced :
<attribute name="domain" label="Email domain" desc="Domain of recipient email address" expr="GetEmailDomain([@email])" advanced="true" />

Esempio di un campo XML memorizzato anche in un campo SQL con attributo @dataPolicy .
<attribute name="secondaryEmail" label="Secondary email address" length="100" xml="true" sql="true" dataPolicy="email" />

Anche se la maggior parte degli attributi sono collegati in base a una cardinalità 1-1 a un campo fisico del database, ciò non vale per i campi XML o i campi calcolati. Un campo XML è memorizzato in un campo Memo ("mData") della tabella. Un campo calcolato, tuttavia, viene creato dinamicamente ogni volta che viene avviata una query, pertanto esiste solo nel livello applicativo.

Audit trail

Un elemento utile da includere nella parte inferiore dello schema è un elemento di tracciamento (traccia di audit).
Utilizzate l'esempio seguente per includere i campi relativi alla data di creazione, all'utente che ha creato i dati, alla data e all'autore dell'ultima modifica per tutti i dati della tabella:
<element aggregate="xtk:common:auditTrail" name="auditTrail"/>

Aggiornamento della struttura del database

Una volta completate e salvate le modifiche, tutte le modifiche che possono influenzare la struttura SQL devono essere applicate al database. A questo scopo, utilizzate la procedura guidata di aggiornamento del database.
Per ulteriori informazioni, consulta la sezione Aggiornamento della struttura del database .
Quando le modifiche non influiscono sulla struttura del database, è sufficiente rigenerare gli schemi. A questo scopo, selezionate gli schemi da aggiornare, fate clic con il pulsante destro del mouse e scegliete Actions > Regenerate selected schemas... . For more on this, refer to the Regenerating schemas section.