1. 程式人生 > >oracle同義詞、序列、檢視、索引、表空間的語法格式及註解

oracle同義詞、序列、檢視、索引、表空間的語法格式及註解

一.同義詞

同義詞就是資料庫物件可以是表,檢視序列等

1.使用者.表名 ;--系統使用者操作其他使用者資訊

2.create synonym 同義詞名 for 使用者.表0名 --賦予私有同義詞

create or replace public synonym 同義詞名 for使用者.表名

--系統管理員可賦予公共同義詞,一般不用public

3. drop synonym 同義詞名; --刪除私有同義詞

  drop public synonym同義詞名;  --刪除共有同義詞

4. or replace;--如果名稱存在,用新的名稱代替舊的名稱。

注:當一個使用者賦予同義詞後,這個表可以被其他使用者以這個表的同義詞呼叫。想要訪問一個使用者的同義詞,要麼被系統管理員賦予

許可權,要麼被被這個使用者賦予許可權。一個同義詞是一個數據庫物件。

如果一個使用者有許可權訪問其他使用者物件時,就可以使用全稱來訪問。

二.序列

1.create sequence序列名;  --建立序列

2.drop sequence s_name 序列名; --刪除序列

3.select 序列名.nextval from dual --訪問序列的下一個值

4.select 序列名.currval from dual --訪問序列的當前值

5.insert into  表名(欄位) values(序列名.nextval,執行語句);

                               --新增資料時使用序列

6.alter sequence 序列名 屬性; --修改序列

修改限制條件:不能修改序列的初始值。最小值不能大於當前值。

最大值不能小於當前值。

7.序列屬性:

1) start with 值; --從某一整數開始,升序預設1,降序預設-1。

2) increment by 值; --步長,每次增長數。

3) maxvalue  值; --序列最大值。

nomaxvalue ; --最大值的預設選項,升序:1027,降序預設:-1。

4) minvalue 值 ;  --序列最小值

nominvalue; --最小值的預設選項,升序:1,降序預設:-1026。  

5) cycle; --升序達到最大值後,從最小值重新開始。降序序列,達到最小值後,從最大值重新開始

   nocycle ; --不重新開始,序列達到最大值或最小值報錯,預設

建立主鍵序列時使用。

6) cache:;--根據序列規則預生成一組序列號,預存在快取中,當使用序列號時,可更快的響應,序列號用完時,生成進行預存,可提高生成序列號的效率,預設會生產20個序列號。

  nocache:不預先在記憶體中生成序列號。

三.檢視

檢視就是有名字的查詢語句

1. create or replace  force/noforce view 檢視名 as

查詢語句 屬性;                       --建立檢視

froce:基表不存在,也可以建立檢視,但是隻有當基表建立成功,檢視才能正常使用。

nofroce:如果基表不存在,無法建立檢視,預設選項。

3.with read only:說明檢視是隻讀檢視,不能通過檢視進行增刪改操作。如果是預設則可以通過檢視對基表執行增刪改操作。

注:檢視通常用於複雜查詢語句的儲存以及方便呼叫。

四.索引

1. create 屬性 index 索引名 on 表名(列);--建立索引

2. unique:唯一索引,值為唯一。

3.  create index 索引名 on 表名(函式(列));--函式索引

4. select * from dba_indexes --查詢全部索引檢視

5. select * from user_indexes --選擇性檢視。

注:比較唯一鍵的數量和表中的行數,就可以判斷索引的選擇性。選擇性越高,索引返回的資料就越少。

6. partition by range(欄位)(

partition 分割槽名 values less than (進區條件));

--對資料進行分割槽

7. select * from 表名 partition(分割槽名);--查詢分割槽下資料

8. create index 索引名 on 表名(欄位)local;--本地索引

9. 分割槽索引 ,常用檢視:

1)select * from user_part_tables;--檢視使用者分割槽表

2)select * from user_part_indexes;--檢視分使用者區索引

10. 會限制索引的操作:

 1)使用不等於操作符,查詢語句會倔強的對全表進行掃描,索引不生效。

 2)使用is null或is not null索引不生效,點陣圖索引除外。在建表時,應把需要索引的列設成not null。

 3)如不使用函式索引,那麼where子句中對存在索引的列使用函式時,索引不生效。

 4)使用不匹配的資料型別,索引不生效。

注:索引可以提高查詢的效率,但會降低增刪改的效率。資料多時使用,索引是以rowid實體地址進行快速定位,表的主鍵和包含唯一約束的列自動建立索引。在經常使用在where子句中的列上面建立索引,加快條件的判斷速度。 

五.表空間

1. 系統表空間:存放系統資料,名稱:system。

2. 臨時表空間:存放資料排序結果,名稱:tmep。

3. 自定義空間:通過 create tablespace命令建立表空間

4. create tablespace 空間名稱 datafile 檔名 size 記憶體M

extent management local uniform size 統一記憶體大小M

                                              --建立表空間

注:資料都在資料檔案中儲存,而資料檔案大小受作業系統限制,並且過大的資料檔案對資料的存取效能影響非常大。一個數據檔案只能屬於一個表空間。一個數據庫空間由若干個表空間組成。