データスキーマ data-schemas

原則 principles

スキーマを編集、作成および設定するには、Adobe Campaign クライアントコンソールの​ 管理/設定/データスキーマ ​ノードをクリックします。

NOTE
ビルトインデータスキーマは、Adobe Campaign Classic コンソールの管理者のみが削除できます。

編集フィールドには、ソーススキーマの XML コンテンツが表示されます。

NOTE
「名前」編集コントロールを使用すると、名前と名前空間で構成されるスキーマキーを入力できます。 スキーマのルート要素の「name」属性と「namespace」属性は、スキーマの XML 編集ゾーンで自動的に更新されます。

プレビューでは、次のように拡張スキーマが自動的に生成されます。

NOTE
ソーススキーマを保存すると、拡張スキーマの生成が自動的に開始されます。

スキーマの完全な構造を確認する必要がある場合は、「プレビュー」タブを使用します。 スキーマを拡張すると、そのすべての拡張を視覚化できます。 「ドキュメント」タブには、補足情報として、すべてのスキーマ属性と要素、およびそのプロパティ(SQL フィールド、タイプ/長さ、ラベル、説明)が表示されます。 「ドキュメント」タブは、生成されたスキーマにのみ適用されます。 詳しくは、 スキーマの再生成の節を参照してください。

例:契約テーブルの作成 example--creating-a-contract-table

次の例では、Adobe Campaign データベースのデータベースモデルに contracts の新しいテーブルを作成します。 このテーブルには、契約ごとに、所有者と共同所有者の姓と名およびメールアドレスを格納できます。

それには、テーブルのスキーマを作成し、対応するテーブルを生成するためのデータベース構造を更新する必要があります。 次のような流れになります。

  1. Adobe Campaign ツリーの 管理/設定/データスキーマ ノードを編集し、「新規」をクリックします。

  2. データモデルに新しいテーブルを作成」オプションを選択し、「次へ」をクリックします。

  3. テーブル名と名前空間を指定します。

    note note
    NOTE
    デフォルトでは、ユーザーが作成したスキーマは「cus」名前空間に保存されます。 詳しくは、スキーマの ID を参照してください。
  4. テーブルの内容を作成します。 設定が欠けていないことを確認するために、入力アシスタントを使用することをお勧めします。 それには、「挿入」ボタンをクリックし、追加する設定のタイプを選択します。

  5. 契約テーブルの設定を定義します。

    code language-none
    <srcSchema desc="Active contracts" img="ncm:channels.png" label="Contracts" labelSingular="Contract" mappingType="sql" name="Contracts" namespace="cus" xtkschema="xtk:srcSchema">
      <element desc="Active contracts" img="ncm:channels.png" label="Contracts" labelSingular="Contract"
               name="Contracts" autopk="true">
               <attribute name="holderName" label="Holder last name" type="string"/>
               <attribute name="holderFirstName" label="Holder first name" type="string"/>
               <attribute name="holderEmail" label="Holder email" type="string"/>
               <attribute name="co-holderName" label="Co-holder last name" type="string"/>
               <attribute name="co-holderFirstName" label="Co-holder first name" type="string"/>
               <attribute name="co-holderEmail" label="Co-holder email" type="string"/>
               <attribute name="date" label="Subscription date" type="date"/>
               <attribute name="noContract" label="Contract number" type="long"/>
      </element>
    </srcSchema>
    

    契約のタイプを追加し、契約番号にインデックスを配置します。

    code language-none
    <srcSchema _cs="Contracts (cus)" desc="Active contracts" entitySchema="xtk:srcSchema" img="ncm:channels.png"
               label="Contracts" labelSingular="Contract" name="Contracts" namespace="cus" xtkschema="xtk:srcSchema">
      <enumeration basetype="byte" name="typeContract">
        <value label="Home" name="home" value="0"/>
        <value label="Car" name="car" value="1"/>
        <value label="Health" name="health" value="2"/>
        <value label="Pension fund" name="pension fund" value="2"/>
      </enumeration>
      <element autopk="true" desc="Active contracts" img="ncm:channels.png" label="Contracts"
               labelSingular="Contract" name="Contracts">
        <attribute label="Holder last name" name="holderName" type="string"/>
        <attribute label="Holder first name" name="holderFirstName" type="string"/>
        <attribute label="Holder email" name="holderEmail" type="string"/>
        <attribute label="Co-holder last name" name="co-holderName" type="string"/>
        <attribute label="Co-holder first name" name="co-holderFirstName" type="string"/>
        <attribute label="Co-holder email" name="co-holderEmail" type="string"/>
        <attribute label="Subscription date" name="date" type="date"/>
       <attribute desc="Type of contract" enum="cus:Contracts:typeContract" label="Type of contract"
                   name="type" type="byte"/>
        <attribute label="Contract number" name="noContract" type="long"/>
        <dbindex name="noContract" unique="true">
          <keyfield xpath="@noContract"/>
        </dbindex>
      </element>
    </srcSchema>
    
  6. スキーマを保存して構造を生成します。

  7. データベース構造を更新して、スキーマのリンク先となるテーブルを作成します。 詳しくは、 データベース構造の更新を参照してください。

recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1