Oracle 约束的基础知识介绍

2014-11-24 18:30:11 · 作者: · 浏览: 0

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命令来创建,下面是每一种约束创建的语法。