从Oracle的约束到索引


Oracle有五种约束。主键primary keys 约束,外键foreign约束。Unique约束,NOT NULL约束,check约束。记住:约束都是针对于某一列来说的。

这里说明下check约束:ALTER TABLE temp ADD CONSTRAINT ck_temp_age CHECK

((AGE>0) AND (AGE <= 125)); 这样age只能属于0到125区间了。别的数据插不进去。

再解释一下primary keys 约束和Unique约束的区别:

primary keys 约束要大于Unique约束,就是说Unique约束能有的,primary keys 约束都具有。而且primary keys 约束要求字段不能是空值。primary keys 约束会自动往字段添加唯一索引。

唯一索引是索引种类的一种。

Oracle的索引类型:有三种分类方法:

第一种:按类型分 :1.B-树索引 2.位图索引

第二种:1.唯一索引 2.主关键字索引 3.一般索引(主要用来提高查询速度)

第三种:1.单列索引 2.多列索引 3.函数索引

create index i_ename on emp(ename); 这样便创建了一个一般索引。

CREATE BITMAP INDEX index_name ON normal_index_creation_clause;这样便创建了一个位图索引。

create unique index dept_unique_idx on dept(dept_no) tablespace idx_1; 这样便创建唯一索引

创建与约束相关的索引 ,可以用using index字句,为与unique和primary key约束相关的索引,例如:

  alter table table_name

  add constraint PK_primary_keyname primary key (field_name)

  using index tablespace tablespace_name;

最后一个创建与约束相关的索引其实用的挺多的。

相关内容