DB2有五种约束:

  • NOT NULL 约束是这样一种规则,它防止在表的一列或多列中输入空值。

  • 唯一约束(也称为唯一键约束)是这样一种规则,它禁止表的一列或多列中出现重复值。唯一键和主键是受支持的唯一约束。例如,可对供应商表中的供应商标识定义唯一约束以确保不会对两个供应商指定同一供应商标识。

  • 主键约束是与唯一约束具有相同属性的一列或列的组合。可使用主键和外键约束来定义表之间的关系。

  • 外键约束(也称为引用约束引用完整性约束)是关于一个或多个表中的一列或多列中的值的一种逻辑规则。例如,一组表共享关于公司的供应商的信息。供应商的名称有时可能会更改。可定义一个引用约束,声明表中的供应商的标识必须与供应商信息中的供应商标识相匹配。此约束会阻止可能导致丢失供应商信息的插入、更新或删除操作。

  • (表)检查约束(也称为检查约束)对添加至特定表的数据设置限制。例如,表检查约束可确保每当在包含个人信息的表中添加或更新薪水数据时,职员的薪水级别至少为 $20000。

创建 Not null:

CREATE TABLE EMPLOYEES (. . . 
EMERGENCY_PHONE CHAR(14) NOT NULL,
. . .
);

修改之:

db2 "alter table tabname ALTER colname drop not null"
db2 "alter table t01 ALTER colname set not null"

创建、删除唯一约束:

db2 "alter table tabname add unique(colname)"

db2 "alter table tabname drop unique CONSTNAME "

创建主键约束:

db2 "alter table staff add primary key (id)"

创建外键约束:

db2 alter table project add foreign key (respemp) references employee on delete cascade

表检查约束:

db2 alter table employee add constraint phoneno_length check (length(rtrim(phoneno)) = 4)

DB2有五种约束的更多相关文章

  1. Oracle--数据库中的五种约束

    数据库中的五种约束 数据库中的五种约束及其添加方法 五大约束 1.--主键约束(Primay Key Coustraint) 唯一性,非空性  2.--唯一约束 (Unique Counstraint ...

  2. SQLServer 中有五种约束, Primary Key 约束、 Foreign Key 约束、 Unique 约束、 Default 约束和 Check 约束

    一直在关注软件设计方面,数据库方面就忽略了很多,最近在设计数据库时遇到了一些小麻烦,主要是数据库中约束和性能调优方面的应用,以前在学习 Sql Server 2000,还有后来的 Sql Server ...

  3. 【SQL】数据库中的五种约束

    #五大约束 1.主键约束(Primay Key Coustraint) 唯一性,非空性 2.唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个 3.检查约束 (Check ...

  4. Oracle数据库五种约束

    oracle 数据库 数据表的5个约束类型:1.主键约束2.外键约束3.唯一约束4.检查约束5.非空约束 主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含 ...

  5. oracle五种约束的创建和移除:

    .主键约束: 创建表的时候就添加: create table table_name (categoryId varchar2(), categoryName varchar2(), primary k ...

  6. Oracle的五种约束

    1.非空(NOT NULL)约束:所定义的列不绝对不能为空: 例如:将已经创建好的表BOOK中的bookname字段修改为不为空: 利用 ALTER TABLE.......MODIFY ...... ...

  7. 关于SQL Server数据表的五种约束

    1.主键约束(PRIMARY KEY) 主键约束可以在表中定义一个主键值,它可以唯一确定表中每一条记录,每个表中只能有一个主键约束(只能有一个主键约束的意思并不是说受主键约束的列只能有一个),并且受主 ...

  8. Oracle 五种约束的创建和移除:

    1.主键约束: 创建表的时候就添加: create table table_name (categoryId varchar2(10), categoryName varchar2(30), prim ...

  9. day57-mysql-五种约束和sql语句逻辑执行顺序

    二.sql语句逻辑执行顺序 () SELECT () DISTINCT <select_list> 去重复 () FROM <left_table> () <join_t ...

随机推荐

  1. elasticsearch ik安装

    /usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-ana ...

  2. Python delattr() 函数

    Python delattr() 函数  Python 内置函数 描述 delattr 函数用于删除属性. delattr(x, 'foobar') 相等于 del x.foobar. 语法 dela ...

  3. java序列化的认识(从多本书和多个博客中的总结)

    Serializable接口是java.io下的一个标记接口,一个类要被序列化必须实现这个接口.

  4. 对arm裸板调试的理解

    由于arm芯片一般都包含的由jtag调试这项功能,cpu向外部发出信号时,一般都要同jtag发送出去,它就像一个路口的交警一样,能够控制车辆的运行,当然在arm中指的是cpu发出的数据和地址,我们在调 ...

  5. eclipse及tomcat设置编码

    新装的eclipse新导入项目会乱码,解决办法: 右击项目选properties,找到resources选择utf-8 改后乱码解决 乱码解决后可能还会有红叉,project clean即可 一劳永逸 ...

  6. 线特征---LBD算法(三)

    上一节主要是介绍LSD算法理论,这节主要是介绍LBD算法. 参考文章:An efficient and robust line segment matching approach based on L ...

  7. MVC报错:找到多个与名为“Home”的控制器匹配的类型。

    错误原因是:在根目录中的Controller中有HomeController,而在Areas中也有一个HomeController,只是他们的命名空间不一样. 这样的话,只需要在对应的路由注册中加入命 ...

  8. (转载)Ubuntu下安装Qt

    转载自:http://blog.csdn.net/timidsmile/article/details/7716201 Ubuntu下安装Qt 1: sudo apt-get install qt4- ...

  9. Linux操作系统-系统安装与分区

    .磁盘分区 使用分区工具在磁盘上划分几个逻辑部分,一旦分成几个分区,不同类型的目录和文件可以存储进不同的分区2.分区类型主分区:最多只能有4个扩展分区:最多只能有1个:主分区加扩展分区最多有4个:扩展 ...

  10. Apache Commons configuration使用入门

    使用Commons  Configuration可以很好的管理我们的配置文件的读写, 官网:http://commons.apache.org/configuration 需要用到commons-la ...