DB2 9 基础(730 考试)认证指南,第 5 部分: 处理 DB2 对象
2009-01-22 16:39:02 来源:WEB开发网CONSTRAINT 关键字允许为约束指定一个名称。在这个示例中,惟一性约束的名称是 BOOKSISBN。如果想删除特定的约束,那么在 ALTER TABLE 语句中使用这个名称。
DB2 在一个表中只允许定义一个主键;但可以定义多个惟一性约束。
每当为列定义一个 PRIMARY KEY 或 UNIQUE 约束时,DB2 都会创建一个惟一的索引以强制列的惟一性。DB2 不允许在同样的列上创建多个惟一的索引。因此,不能在同样的列上同时定义 PRIMARY KEY 和 UNIQUE 约束。例如,以下针对 BOOKS 表的语句将失败,因为已经有了 PRIMARY KEY:
ALTER TABLE BOOKS ADD CONSTRAINT UNIQUE (BOOKID)
CREATE UNIQUE INDEX IBOOKS ON BOOKS (BOOKID)
参照完整性约束
参照完整性约束 用于定义表之间的关系并确保这些关系保持有效。假设有一个表包含关于作者的信息,而另一个表列出这些作者已经写的书。在 BOOKS 表和 AUTHORS 表之间有这样一种关系 —— 每本书都有一个作者,该作者必须存在于 AUTHORS 表中。每个作者都有一个存储在 AUTHORID 列中的惟一的标识符。AUTHORID 在 BOOKS 表中用于识别每本书的作者。要定义这种关系,应该把 AUTHORS 表的 AUTHORID 列定义为主键,然后在 BOOKS 表上定义一个外键,从而与 AUTHORS 表中的 AUTHORID 列建立关系:
CREATE TABLE AUTHORS (AUTHORID INTEGER NOT NULL PRIMARY KEY,
LNAME VARCHAR(100),
FNAME VARCHAR(100))
CREATE TABLE BOOKS (BOOKID INTEGER NOT NULL PRIMARY KEY,
BOOKNAME VARCHAR(100),
ISBN CHAR(10),
AUTHORID INTEGER REFERENCES AUTHORS)
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
更多精彩
赞助商链接