在 CA SDM 数据库架构中定义逻辑表,然后在这些表中定义逻辑列(字段)。然后,通过映射语句(遵循 TABLE 语句)将这些逻辑表和列映射至由数据库管理系统使用的物理表和列。
注意:如果定义新表,则必须为该表定义一个映射语句。在本章的末尾对映射语句进行了说明,后面还有一个结合了 TABLE、TABLE_INFO 和映射语句的示例。
TABLE table_name {field value_type field_attributes; [...]}
介绍 TABLE 语句。必须大写。您必须具有架构中每个逻辑表的 TABLE 语句。
数据库表的名称,例如,Call_Req。如果要添加数据库表,则可以指定任何以小写字母 z 开头的名称 (此举可避免与现有和将来的 CA SDM 表名称发生冲突的可能性)。如果要变更现有的表,请在其中一个 .sch 文件中找到该表并使用相同的名称。
表中逻辑列的名称,例如,id 或 desc。您必须按名称标识每列。如果添加表或向现有的表中添加列,则可以指定任何以小写字母 z 开头的名称;但是,字段名称不能以字符“_f”结尾(此举可避免与现有的和将来的 CA SDM 列名称发生冲突的可能性)。如果要变更现有的列,请在其中一个 .sch 文件中找到该列并使用相同的名称。
字段的数据类型。有效值是:
|
值 |
描述 |
|---|---|
|
STRING nn |
nn 个字符的字符串。 |
|
INTEGER |
32 位的数字。 |
|
LOCAL_TIME |
自 1970 年 1 月 1 日以来的秒数。CA SDM 会自动将此数据类型重新格式化为指定的日期格式,例如:mm/dd/yy hh:mm:ss. |
|
DURATION |
一段时间(秒数)。 |
|
REAL |
浮点数。 |
|
UUID |
16 字节二进制值。 |
field_attributes
对字段的描述。有效值是:
|
值 |
描述 |
|---|---|
|
KEY |
将此字段标识为主键,以用于标识使用 pdm_load 进行更新的记录。如果未指定默认主键标识,则用这个值。如果该字段为表中的主键,则必须指定该值。 |
|
NOT_NULL |
指明该字段必须包含一个值。如果该字段为表中的主键,则必须指定该值。如果该字段不是主键,则该值可选。 |
|
REF other_table_name |
指明该字段引用了其它表。无论该字段是否为主键,该值都为可选。 |
|
S_KEY |
根据需要将该字段标识为次关键字,以用于标识使用 pdm_load 进行更新的记录。 |
|
UNIQUE |
指定字段中的值必须唯一。如果该字段为表中的主键,则必须指定该值。如果该字段不是主键,则该值可选。 |
宏是在配置期间将转换为宏表示的值的同义词。您可以为数据类型或属性使用宏。如果要使用宏,您必须在 #include 语句中添加,以包括定义宏(包括路径名)的文件(通常与您的架构文件相对应)。必须在使用宏之前定义 include 语句。include 语句示例:
#include "../schema.mac"
以下是一些在 $ NX_ROOT/site (UNIX) 目录或 installation-directory/site (Windows) 目录中的 .mac 文件中定义的宏。
|
数据类型 |
等效 |
|---|---|
|
nn |
NOT_NULL |
|
uniq |
UNIQUE NOT_NULL |
|
ADDR_LINE |
STRING 30 |
|
EMAILADDR |
STRING 120 |
|
ENT_DESC |
STRING 40 |
|
ENT_NAME |
STRING 30 |
|
OSI_NAME |
STRING 80 |
|
OSI_TYPE_STRING |
STRING 60 |
|
USERID |
STRING 85 |
|
PHONENUM |
STRING 32 |
|
SYMBOL |
STRING 12 |
|
HIER_SYM |
STRING 60 |
|
LONG_SYM |
STRING 30 |
|
COMMENT |
STRING 1000 |
|
LONG_STR |
STRING 500 |
|
LONG_DESC |
STRING 240 |
|
BOOL |
INTEGER |
数据库架构中的 TABLE 语句定义了 severity。宏 nn 指明在 del 字段中需要值。宏 uniq 指明需要值,并且值必须唯一:
#include :../schema.mac”
TABLE Severity {
id INTEGER uniq KEY; // key id
del INTEGER nn; // 0=present,1=gone
sym SYMBOL uniq S_KEY; // type symbol
desc ENT_DESC; // non‑OSI specified column
}
此修改的 TABLE 语句使得“请求详细信息”窗口中的 Priority 字段为必需字段:
TABLE Call_Req {priority INTEGER NOT_NULL;}
此 TABLE 语句将一个 resolution code 字段添加至 Call_Req 表。该字段的内容为数字并且引用了 Resolution_Code 表。此引用使用户能够双击‑“请求详细信息”窗口上的“解决办法代码”字段以显示 Resolution_Code 表中的值:
TABLE Call_Req {zres_code INTEGER REF Resolution_Code;}
|
版权所有 © 2013 CA。
保留所有权利。
|
|