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