使用 DB2 对象创建约束_SQL SERVER数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

使用 DB2 对象创建约束

作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0

本篇关键词:约束创建对象使用
黑客防线网安网讯:  约束使 DBMS 能够防止不正确的或意外的数据输入表中,从而确保表中数据的完整性。DB2 中使用以下约束实施数据完整性:  主键(Primary key)  用来确保一个列或一组列的值的惟一性。每...

  约束使 DBMS 能够防止不正确的或意外的数据输入表中从而确保表中数据的完整性DB2 中使用以下约束实施数据完整性:
  主键(Primary key)
  用来确保一个列或一组列的值的惟一性每个表只能有一个主键。
  外键(Foreign key)或称为引用约束(referential constraint)
  用来在两个表之间建立引用关系这两个表通常称为子表和父表,用来建立引用关系的操作在 REFERENCE 子句中定义。当在父表或子表中插入/删除/更新的数据满足预定义的条件时,就执行这个操作。外键总是应该引用父表中的主键或惟一键。
  惟一键(Unique key)
  用来确保一个列或一组列的值的惟一性。与主键相反,一个表可以有多个惟一键。惟一键还使外键能够引用主键之外的数据列。每当定义主键或惟一键时,就会创建惟一索引。
  检查约束(Check constraint)
  在表级上针对一个或多个表列定义检查约束,它们可以对这些表列实施指定的规则,使这些列中插入或更新的数据满足检查约束中预先定义的条件。与其他约束不同,检查约束可以在某些操作期间临时关闭,比如 LOAD,在对约束进行检查之前,表处于检查未决状态。
  可以在创建表时创建约束,也可以使用 ALTER TABLE 语句或 GUI 界面在以后添加约束。
  以下练习演示如何创建和使用这些约束。它还演示如何使用 Command Editor 执行一些日常管理任务:
  1、在 Control Center 主菜单中,点击 Tools > Command Editor。出现 Command Editor 窗口。使用这个编辑器编辑 DB2 命令,执行它们,然后查看返回的 DB2 或 SQL 消息。
  2、首先在 AUTHOR 表中添加另一个列,然后在这个表上添加一个主键。添加以下命令并点击图1 所示的绿色执行按钮:
  图1 Command Editor —— 修改表
   
  在添加主键时,由于 AUTHOR_ID 上已经有了一个惟一索引, DB2 要在幕后创建一个惟一索引。 DB2 为这个主键使用现有的索引,并返回 SQL0598W。
  3、在 Command Editor 中,还可以选择将现有命令保存到文件中,或者用接下来要编辑或运行的新命令替换它们。
  4、将 Command Editor 窗口中的命令替换为以下命令:

  CONNECT TO HWLD;
  CREATE TABLE HWLD.MODULE
  ( MODULE_ID INT NOT NULL,
  MODULE_NAME CHAR(20) NOT NULL,
  PRIMARY KEY (MODULE_ID),
  CONSTRAINT MID_UNIQ UNIQUE
  (MODULE_ID, MODULE_NAME),
  CONSTRAINT MID_CHECK CHECK (MODULE_ID >= 0)
  )
  IN TBSP_DATA1 INDEX IN TBSP_INDEX1;
  CONNECT RESET;
  5、这个 CREATE TABLE 命令在创建表期间创建一个主键约束、一个惟一键约束和一个检查约束。检查约束要求数据列 MODULE_ID 中的值都是正数。图2显示预期的运行结果:
  图 2. Command Editor —— 创建表
   
  可以使用 CREATE TABLE 向导完成同样的任务。
  6、现在,已经创建了两个表。表 HWLD.AUTHOR 包含 Hello World 模块的所有作者信息。表 HWLD.MODULE 包含所有 Hello World 系列模块信息。现在,创建另一个表 HWLD.PARTICIPANT,它包含所有参与者的信息,包括姓名、部门(可选)、参与的模块和测试分数。
  表 HWLD.PARTICIPANT 应该具有以下的表定义:
  (PAR_NAME VARCHAR(50) NOT NULL,
  PAR_ID BIGINT NOT NULL,
  PAR_AREA CHAR(20),
  MODULE_ID INT,
  PAR_TEST_SCORE INT)
  7、注意以下条件:
每个人可以多次测试多个模块
测试分数应该在 0 到 100 之间
HWLD.PARTICIPANT 中的 MODULE_ID 应该引用 HWLD.MODULE 中的 MODULE_ID。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-11461-1.html
网站维护教程更新时间:2012-03-21 03:21:57  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer