從Oracle的約束到索引 |
發(fā)布時間: 2012/8/15 17:31:47 |
Oracle有五種約束。主鍵primary keys 約束,外鍵foreign約束。Unique約束,NOT NULL約束,check約束。記。杭s束都是針對于某一列來說的。 這里說明下check約束:ALTER TABLE temp ADD CONSTRAINT ck_temp_age CHECK ((AGE>0) AND (AGE <= 125)); 這樣age只能屬于0到125區(qū)間了。別的數(shù)據(jù)插不進去。 再解釋一下primary keys 約束和Unique約束的區(qū)別: primary keys 約束要大于Unique約束,就是說Unique約束能有的,primary keys 約束都具有。而且primary keys 約束要求字段不能是空值。primary keys 約束會自動往字段添加唯一索引。 唯一索引是索引種類的一種。 Oracle的索引類型:有三種分類方法: 第一種:按類型分 :1.B-樹索引 2.位圖索引 第二種:1.唯一索引 2.主關鍵字索引 3.一般索引(主要用來提高查詢速度) 第三種:1.單列索引 2.多列索引 3.函數(shù)索引 create index i_ename on emp(ename); 這樣便創(chuàng)建了一個一般索引。 CREATE BITMAP INDEX index_name ON normal_index_creation_clause;這樣便創(chuàng)建了一個位圖索引。 create unique index dept_unique_idx on dept(dept_no) tablespace idx_1; 這樣便創(chuàng)建唯一索引 創(chuàng)建與約束相關的索引 ,可以用using index字句,為與unique和primary key約束相關的索引,例如: alter table table_name add constraint PK_primary_keyname primary key (field_name) using index tablespace tablespace_name; 最后一個創(chuàng)建與約束相關的索引其實用的挺多的 本文出自:億恩科技【1tcdy.com】 |