创建数据库表(二)

2015-07-24 11:10:34 · 作者: · 浏览: 8
TU_ID);

添加唯一约束的语法:ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(字段名

例如:

alter table student 
  add constraint UQ_DESCRIPTION unique(description);

域完整性约束指给定字段的输入有效性,可以通过限制数据类型,检查约束、输入格式、默认值、非空约束等方法。

例如:

alter table student
      add constraint chk_age check(age>0);

在输入或删除数据行时,引用完整性约束用来保持表之间已定义的关系,例如:

班级信息表: 学员信息表:

班级编号(cla_id)

班级名称(cla_name)

C001

2012计算机一班

C002

2012计算机二班

C003

2012数学一班

学员编号(stu_id

班级编号(stu_cla_id

学员姓名(stu_name)

S101

C001

吕奉先

S102

C102

张文远

S201

C002

刘玄德

S301

C003

曹孟德

在管理学员信息时一个表用来存储班级的信息,也就是班级信息表,另一表用来存储学员的信息,即学员信息表。

并且两张表通过班级编号进行关联,这里我们一般将班级信息成为主表,学员信息表称作子表。在强制引用完整性时Oracle数据库禁止用户进行下列操作:1、当主表中没有关

联的记录时,将记录添加到相关表中,也就是说学员信息表中不能出现在班级信息表中不存在的班级编号。2、更改主表中的值并导致相关表中的记录独立,如果班级信息表中

的班级编号改变了,学员信息表中的班级编号也应该随之改变。3、从主表中删除记录,但仍存在与该记录匹配的相关记录,如果把班级信息表中的班级删除了,则该班级的班

级编号不能出现在学员信息表中。一般来说引用完整性约束是通过主键和外键之间的引用关系来实现。

创建外键约束的语法:ALTER TABLE 子表 ADD CONSTRAINT 约束名 FOREIGN KEY (子表的外键)REFERENCES 主表 (主表的主键);

例如:ALTER TABLE 学员信息表

ADD CONSTRAINT fk_子表名_外键 FOREIGN KEY (stu_cla_id)

REFERENCES 班级信息表 (cla_id);

自定义完整性约束:通常借助于数据库的规则、存储过程或者触发器对象来进行约束。