WEB开发网
开发学院数据库DB2 DB2 9 基础(730 考试)认证指南,第 5 部分: 处理... 阅读

DB2 9 基础(730 考试)认证指南,第 5 部分: 处理 DB2 对象

 2009-01-22 16:39:02 来源:WEB开发网   
核心提示: CREATE TABLE AUTHORS (AUTHORID INTEGER NOT NULL PRIMARY KEY,LNAME VARCHAR(100),FNAME VARCHAR(100),FICTIONBOOKS INTEGER,NONFICTIONBOOKS INTEGER,TO

CREATE TABLE AUTHORS (AUTHORID INTEGER NOT NULL PRIMARY KEY,
           LNAME VARCHAR(100),
           FNAME VARCHAR(100),
           FICTIONBOOKS INTEGER,
           NONFICTIONBOOKS INTEGER,
           TOTALBOOKS INTEGER GENERATED ALWAYS
                 AS (FICTIONBOOKS + NONFICTIONBOOKS) )

约束

DB2 提供了几种方法来控制什么数据可以存储在列中。这些特性被称为约束(constraint) 或规则(rule),数据库管理程序强制一个数据列或一组列遵守这些约束。

DB2 提供了三种类型的约束:惟一性、参照完整性和表检查。

以下几节详细描述每种约束类型。

惟一性约束

惟一性约束 用于确保列中的值是惟一的。可以对一个或多个列定义惟一性约束。惟一性约束中包括的每个列都必须定义为 NOT NULL。

惟一性约束可以定义为 PRIMARY KEY 或 UNIQUE 约束。这些可以在创建表时作为 CREATE TABLE SQL 语句的一部分定义,或者在创建表后使用 ALTER TABLE 语句添加。

什么时候应该定义 PRIMARY KEY,什么时候应该定义 UNIQUE 键?这取决于数据的性质。在前面的示例中,BOOKS 表有一个 BOOKID 列,它用于惟一地标识一本书。这个值还在包含与这本书相关的信息的其他表中使用。在这种情况下,应该把 BOOKID 定义为主键。DB2 在一个表中只允许定义一个主键。

ISBN 列必须是惟一的,但它不是一个在数据库中其他地方被引用的值。在这种情况下,ISBN 列应该定义为 UNIQUE:

CREATE TABLE BOOKS (BOOKID INTEGER NOT NULL PRIMARY KEY,
          BOOKNAME VARCHAR(100),
          ISBN CHAR(10) NOT NULL CONSTRAINT BOOKSISBN UNIQUE )

上一页  4 5 6 7 8 9 10  下一页

Tags:DB 基础 考试

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接