您的位置:首页 > 数据库 > Oracle

Oracle 约束的基础知识介绍

2014-06-19 11:09 274 查看
1,约束的分类。

约束分成5类:1. not null,2.primary key,3.check,4.unique,5.foreign key。



1.1 not null约束

默认情况下,所有列的值都可以包含null值,当在列上定义not null约束后,列上面就必须得有值。not null约束还常常与其它的约束一起组合起来使用,比如与unique约束一起使用,就可以保证新插入的列的数据不会与已经存在的数据发生冲突。需要在相当的列上面创建索引的时候,建议也在相关的列上面增加上not null约束,因为索引不会存放null记录。

1.2 primary key约束

主键约束其实就是not null约束与unique约束的一个组合,用来保证行记录的唯一,不重复性。每张表只能有一个主键约束,在表设计的时候,我们一般都每张表上面都要有主键约束。在创建主键的时候会自己的创建相应约束名的索引,在选择主键约束的列的时候可以参考下面指导:

1.选择sequence的列做为主键。

2.选择列的值是唯一的,并且没有null值的列。

3.主键的更一般不会发生修改,也仅仅用于标识行的唯一性,不用于其它的目的。

4.主键的列尽量选择值比较短的值或者是number的值。

1.3 unique约束

unique约束是保证值的记录不会出现相同的值,但是noll值不受权限,创建unique约束的时候,会自己创建约束名的索引。

1.4 check约束

检查约束用于检查值在插入时是否满足指定的条件,比如值要求大于10小于100.

1.5 foreign key约束

当2个表,当A表中的列的值必须在B表中的列的值时候,可以定义外键约束。父表相关的值上面有主键或者唯一性约束。不过很多公司要求不能使用外键,让开发自己用程序来判断。

2,约束的定义

约束可以在表创建的时候指定,也可以在表创建完成后通过alter命令来创建,下面是每一种约束创建的语法。

2.1 not null约束

create table test_cons (id number constraint cons_test_cons_id_nonull not null);

create table test_cons_1(id number not null);

alter table test_cons_2 modify id not null;

2.2 primary key

create table test_cons_1 (id number primary key);

create table test_cons_2 (id number constraint cons_2 primary key);

create table test_cons_3 (id number,constraint cons_3 primary key(id));

create table test_cons_4 (id number);

alter table test_cons_4 add constraint cons_4 primary key(id);

2.3 unique

create table test_cons_1 (id number unique);

create table test_cons_2 (id number constraint cons_2 unique);

create table test_cons_3 (id number,constraint cons_3 unique(id));

create table test_cons_4 (id number);

alter table test_cons_4 add constraint cons_4 unique(id);

2.4 check

create table test_cons_1 (id number check (id > 10 and id <100));

create table test_cons_2 (id number constraint cons_2 check (id > 10 and id <100));

create table test_cons_3 (id number,constraint cons_3 check (id > 10 and id <100));

create table test_cons_4 (id number);

alter table test_cons_4 add constraint cons_4 check (id > 10 and id <100);

2.5 外键约束

create table test_cons_1 (id number,constraint cons_1 foreign key (id) references test_cons(id));

alter table test_cons_4 add constraint cons_4 foreign key (id) references test_cons(id);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: