数据架构 data-schemas
原则 principles
要编辑、创建和配置架构,请单击Adobe Campaign客户端控制台的 Administration > Configuration > Data schemas 节点。
编辑字段显示源架构的XML内容:
预览会自动生成扩展架构:
如果需要检查架构的完整结构,可以使用预览选项卡。 如果架构已扩展,则随后您将能够可视化其所有扩展。 作为补充,“文档”选项卡显示所有方案属性和元素及其属性(SQL字段、类型/长度、标签、说明)。 “文档”选项卡仅适用于生成的架构。 有关详细信息,请参阅重新生成架构部分。
示例:创建合同表 example--creating-a-contract-table
在以下示例中,我们要在Adobe Campaign数据库的数据库模型中为 合同 创建新表。 此表允许您存储每个合同的持有者和共同持有者的名字和姓氏以及电子邮件地址。
为此,您需要创建表的模式并更新数据库结构以生成相应的表。 应用以下阶段:
-
编辑Adobe Campaign树的 Administration > Configuration > Data schemas 节点,然后单击 New 。
-
选择 Create a new table in the data model 选项并单击 Next 。
-
指定表的名称和命名空间。
note note NOTE 默认情况下,用户创建的架构存储在“cus”命名空间中。 有关详细信息,请参阅架构标识。 -
创建表的内容。 我们建议使用登录助手以确保未丢失任何设置。 为此,请单击 Insert 按钮并选择要添加的设置类型。
-
定义合同表的设置:
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>
-
保存架构以生成结构:
-
更新数据库结构以创建将链接架构的表。 有关详细信息,请参阅更新数据库结构。