Show Menu
トピック×

スキーマエディションについて

Adobe Campaignでは、データスキーマを使用して次のことを行います。
  • アプリケーション内のデータオブジェクトが基盤となるデータベーステーブルにどのように関連付けられるかの定義
  • Campaign アプリケーション内での異なるデータオブジェクト間リンクの定義
  • 各オブジェクトに含まれている個々のフィールドの定義と記述
Campaignの組み込みテーブルとそのインタラクションについて詳しくは、 Campaign Classicデータモデルを参照してください

スキーマの拡張または作成

受信者テーブル(nms:recipient)など、キャンペーンのコアデータスキーマの1つにフィールドやインデックスなどの要素を追加するには、そのスキーマを拡張する必要があります。 この詳細については、「スキーマの拡張」の節 を参照してくださ い。
Adobe Campaignにあらかじめ用意されていない、まったく新しいタイプのデータを追加する(例えば契約表)には、カスタムスキーマを直接作成できます。 For more on this, refer to the Data schemas section.
作業対象のスキーマを拡張または作成した後は、XMLコンテンツ要素を次に示すのと同じ順序で定義することをお勧めします。

列挙

列挙は、最初に、スキーマのメイン要素の前に定義されます。 リストに値を表示して、特定のフィールドに対するユーザーの選択を制限できます。
例:
<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>

フィールドを定義する際に、次のようにこの列挙を使用できます。
<attribute desc="Type of Transaction" label="Transaction Type" name="transactionType" 
type="string" enum="exTransactionTypeEnum"/>

また、ユーザー管理の列挙(通常は>の下 Administration )を使用し Platform て、特定のフィールドの値を指定できます。 これらは効果的にグローバルな列挙であり、作業対象の特定のスキーマ以外で列挙を使用できる場合は、より良い選択肢となります。
列挙の詳細については、「列挙」と「要素」の節を 参照し <enumeration>

インデックス

インデックスは、スキーマのメイン要素で宣言された最初の要素です。
一意である場合とない場合があり、1つ以上のフィールドを参照します。
例:
<dbindex name="email" unique="true">
  <keyfield xpath="@email"/>
</dbindex>

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

xpath属 性は 、インデックスを作成するスキーマ内のフィールドを指します。
インデックスによって提供されるSQLクエリの読み取りパフォーマンスの向上には、レコードの書き込みに対するパフォーマンスの低下も伴う点に注意してください。 したがって、インデックスは用心して使用する必要があります。
インデックスの詳細については、「インデックス付きフィール ド」の節を参照してください

キー

各テーブルには少なくとも1つのキーが必要で、多くの場合、 @autopk=true 属性を「true」に設定して、スキーマのメイン要素で自動的に確立されます。
主キーは、 internal属性を使用して定義することもで きます。
例:
<key name="householdId" internal="true">
  <keyfield xpath="@householdId"/>
</key>

この例では、 ​@autopk属性で「id」という名前のデフォルトの主キーを作成する代わりに、独自の「householdId」主キーを指定します。
新しいスキーマを作成するときや、スキーマ拡張の際には、スキーマ全体で同じプライマリキーシーケンス値(@pkSequence)を維持する必要があります。
キーの詳細については、「キーの管理」の節 を参照してください

属性(フィールド)

属性を使用すると、データオブジェクトを構成するフィールドを定義できます。 スキーマ編集ツールバー Insert のボタンを使用して、空の属性テンプレートをXMLのカーソル位置にドロップできます。 For more on this, refer to the Data schemas section.
属性の完全なリストは、「要素」セクションで使用で <attribute> 。 最も一般的に使用される属性の一部を以下に示します。
  • @advanced
  • @dataPolicy
  • @default
  • @desc
  • @enum
  • @expr
  • @label
  • @length
  • @name
  • @notNull
  • @required
  • @ref
  • @xml
  • @type
    様々なデータベース管理システム用にAdobe Campaignで生成されたデータ型のマッピングの一覧表を表示するには、「 Adobe Campaign/DBMSデータ型のマッピング 」を参照してください。
各属性の詳細については、「属性の説明」の節を参照 してください

デフォルト値の定義例:
<attribute name="transactionDate" label="Transaction Date" type="datetime" default="GetDate()"/>

共通属性を必須としてマークされたフィールドのテンプレートとして使用する例を次に示します。
<attribute name="mobile" label="Mobile" template="nms:common:phone" required="true" />

@advanced属性を使用して非表示にする計算済みフィー ルドの例 :
<attribute name="domain" label="Email domain" desc="Domain of recipient email address" expr="GetEmailDomain([@email])" advanced="true" />

XMLフィールドの例は、SQLフィールドにも格納され、 @dataPolicy属性を持ちます
<attribute name="secondaryEmail" label="Secondary email address" length="100" xml="true" sql="true" dataPolicy="email" />

ほとんどの属性は、1 ~ 1の基数に従ってデータベースの物理フィールドにリンクされますが、XMLフィールドや計算済みフィールドには該当しません。 XMLフィールドは、テーブルのメモ型フィールド(「mData」)に格納されます。 ただし、計算済みフィールドは、クエリーが開始されるたびに動的に作成されるので、アプリケーション層にのみ存在します。

Audit trail

スキーマの下部に含めると便利な要素の1つに、トラッキング要素(監査証跡)があります。
次の例を使用して、テーブル内のすべてのデータの作成日、データを作成したユーザー、日付、および最終変更の作成者に関するフィールドを含めます。
<element aggregate="xtk:common:auditTrail" name="auditTrail"/>

データベース構造の更新

変更が完了して保存されたら、SQL構造に影響を与える可能性のある変更をデータベースに適用する必要があります。 これを行うには、データベース更新ウィザードを使用します。
詳しくは、「データベース構造の更新 」の節を参照してください
変更がデータベース構造に影響を与えない場合は、スキーマを再生成する必要があります。 これを行うには、更新するスキーマを選択し、右クリックしてを選択します Actions > Regenerate selected schemas... 。 For more on this, refer to the Regenerating schemas section.