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);
自定义完整性约束:通常借助于数据库的规则、存储过程或者触发器对象来进行约束。