oracle约束什么意思,Oracle约束

1.约束

作用:

约束用于确保数据库数据的完整性,在oracle数据库中,可以使用约束,触发器和应用代码(过程,函数)3种方法实现数据完整性,这3种方法中,因为约束易于维护,并且具有最好的性能,所以实现数据完整性首选约束.

分类:

约束的种类有:not null,unique,primary key,foreign key,check

Not null确保字段值不能为空

Unique:确保字段值唯一性

Primary key,最常用的约束(主键约束),主键约束的列值不仅不能重复,也不能为NULL,注意一张表最多只能有一个主键约束,当定义主键约束后oracle自动建立一个以主键为关键字段的索引。

Foreign key:定义了主从表之间的关系,foreign要定义在从表上,但主表必须具有主键约束或唯一约束,当定义froeign key后外部键列的数据必须在主表的主键列中存在,或者为NULL

Check::用于强制表行数据必须满足的条件,如工资表,工人工资必须在2000-5000之间

约束状态

enable validate:是默认,新旧数据同时满足约束规则

enable novalidate:旧数据可以不满足,检新插入的数据要满足约束

disable validate:不允许在表上执行任何DML操作,主要用在分区表,对于主键和唯一约事,会删除相应的唯一索引,但约束状态任可用

disable novalidate数据可不满足约束规则,对于主键和唯一约事,会删除相应的唯一索引,

约束常用语句

create table t(i number,v mubmer not null)

create table t(i number,v mubmer unique)

create table t(i number constraint pk_i primary key,v number)

create table t2(c number,d number,constraint fk_d foreign key(c),references t1(v));

alter table t add constraint pk_i primary key (i)

alter table t modify i not null;

alter table t add constraint t_i unique(i)[(create index ind_name on t(i))];

alter table t add constraint t_i check(i in (1,2,3,4,5));

alter table t disable novalidate constraint i

alter table t enable novalidate constraint check_i

alter table t drop constraint i;

alter table t drop primary key i;

#常用的数据字典

dba_constraints

dba_cons_columns

user_cons_columns

user_constraints

简单应用

检验当为一个表建立主键索时后,这个字段是否满足约束非空,唯一性,而且自动建立一个索引,并查看当把约束状态关闭再次插入相同的记录,是否还能把把约束设为enable ividate状态。

SQL> create table t(i number c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值