4.4 约束的使用
约束是保证数据库表中数据的完整性和一致性的手段,在本书的第3章中已经介绍过Oracle 11g中的5个约束,即主键约束、外键约束、唯一约束、检查约束、非空约束。在本节中将一一讲解每一个约束是如何创建、修改、删除的。
4.4.1 主键约束
主键约束在每一个数据表中只有一个,但是一个主键约束可以由数据表中多个列组成。下面就学习主键约束的使用。
(1)使用主键约束创建商品类型信息表
在创建表时就创建主键约束,只需要使用primary key(字段名)即可完成。商品类型信息表主要用来存放商品类型信息,包括商品类型编号和商品类型名称,并把商品类型编号设置成主键。这两个字段的数据库类型定义如表4.6所示。
按照设置好的字段名和数据类型,在sql/plus中创建表categoryinfo,并把商品类型编号(CategoryId)设置成主键,结果如图4.13所示。
图 4.13 商品类型信息表
(2)使用ALTER TABLE语句为表添加主键约束
在创建表时如果没有创建主键约束,可以在修改表时为表添加主键约束。添加主键约束的语法如下:
ALTER TABLE table_name
ADD CONSTRAINTS constraint_name PRIMARY KEY(column_name);
【语法说明】
❑constraint_name:约束的名称。
❑column_name:主键约束指定数据表中的列名。
下面就假设在创建商品类型信息表categoryinfo时没有添加主键约束,在修改表时为表添加主键约束,结果如图4.14所示。
图 4.14 添加主键约束
这样就创建了主键约束,主键约束的名称是pk_category,创建的主键列是categoryid。
(3)移除主键约束
如果需要移除表中现有的主键约束,可以使用如下所示的语句完成:
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
【语法说明】
constraint_name:要移除的约束名称,这个名称可以是在表中任意约束的名称。
下面利用上面的语句,移除商品类型信息表中的主键约束pk_category。具体语句如下:
ALTER TABLE categoryinfo
DROP CONSTRAINT pk_category;
这样,就完成了主键约束pk_category的移除操作。