DB2/400数据库支持以下的物理文件约束条件:
·引用约束
·主关键字约束
·唯一性约束
1 唯一性约束
一个唯一性约束标识数据库文件中符合下述所有条件的一个或一系列字段:
·在文件中唯一
·是升序的
·可为空值
一个文件可有多个唯一性约束,但不能重复。同一个键字字段,无论其顺序如何,都当一个重复约束对待。
2 主键字约束
一个主键字约束标识数据库中所有符合以下条件的一个或一系列字段:
·在文件中唯一
·升序
·不可为空值
对一个文件只能定义一个主键字约束。一个主键字约束是一个具有特殊属性的唯一键字约束。
3. 引用约束关系中涉及的文件必须是最多有一个成员的物理文件。引用约束是一个文件层属性。可以在成员存在之前为一个文件生成一个约束定义。然后可以为每个文件生成成员。
在生成一个引用约束之前必须满足一定的条件:
·必须有一个带有可做父代键字的键字文件。
·必须有一个带有某一属性与父代文件相匹配的从属文件:
--分类序列(SRTSEQ)必须与数据类型CHAR、OPEN、EITHER和HEX匹配。
--除非一个或两个CCSID是65535,CCSID必须与每个SRTSEQ表匹配。
--每一个分类序列表必须严格地匹配。
·从属文件必须有一个与以下父代键字匹配的外来键字:
--数据类型
--长度
--精度(若为压缩、装配或二进制)
--CCSID(除非其中有一个是65535)
--REFSHIFT(如果数据类型是OPEN、EITHER或ONLY)