![Oraclei視圖序列索引和同義詞課件_第1頁](http://file4.renrendoc.com/view/4df4240668628076302295cbfa4a0728/4df4240668628076302295cbfa4a07281.gif)
![Oraclei視圖序列索引和同義詞課件_第2頁](http://file4.renrendoc.com/view/4df4240668628076302295cbfa4a0728/4df4240668628076302295cbfa4a07282.gif)
![Oraclei視圖序列索引和同義詞課件_第3頁](http://file4.renrendoc.com/view/4df4240668628076302295cbfa4a0728/4df4240668628076302295cbfa4a07283.gif)
![Oraclei視圖序列索引和同義詞課件_第4頁](http://file4.renrendoc.com/view/4df4240668628076302295cbfa4a0728/4df4240668628076302295cbfa4a07284.gif)
![Oraclei視圖序列索引和同義詞課件_第5頁](http://file4.renrendoc.com/view/4df4240668628076302295cbfa4a0728/4df4240668628076302295cbfa4a07285.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、建立視圖視圖的使用與基表類似,要有視圖名及相應的列。生成一個視圖可使用CREATE VIEW命令。其語法格式如下:CREATE OR REPLACE FORCE VIEW viewname AS WITH READ ONLY|WITH CHECK OPITION第1頁,共86頁。OR REPLACE:允許新視圖替換已存在的一個同名視圖。FORCE:即使在基本表不存在或對這些表無訪問權限時,也可建立視圖。不過,這個視圖在表被建立和被授權訪問它們之前一直處于無效狀態(tài)。WITH READ ONLY:只允許查詢訪問視圖。WITH CHECK OPITION:如果關聯(lián)視圖使用此選項建立,將完全不能插入,
2、但能刪除和修改。第2頁,共86頁。CREATE OR REPLACE FORCE VIEW TMP_VIEW AS SELECT a.empno, a.ename, b.dname FROM emp a, DEPT b where a.deptno=b.deptno;第3頁,共86頁。第4頁,共86頁。使用視圖一旦建立了一個視圖,就可以把它當作一個表從中查詢數(shù)據(jù)。CREATE OR REPLACE FORCE VIEW TMP_VIEW AS SELECT a.empno, a.ename, b.dname FROM emp a, DEPT b where a.deptno=b.deptno;
3、select * from tmp_view;第5頁,共86頁。Oraclec允許對視圖執(zhí)行UPDATE、INSERT和DELETE語句。如果一個視圖包括了基本表中的所有列,并僅有一個WHERE子句來限制那些返回的行,那么Oracle將允許更新這個視圖。對于沒有保存至少一個基本表的主鍵的那些視圖是不能被更新的。另外一些處理匯部數(shù)據(jù)、基于表達式的列、聯(lián)合和某種關聯(lián)的視圖也不能被更新。 第6頁,共86頁。比如:帶有INTERSECT、UNION或MINUS等集合操作符的視圖帶有GROUP BY、CONNECT BY或START WITH子句的視圖帶有AVG、SUM或MAX等組函數(shù)的視圖帶有DIST
4、INCT的功能的視圖;如果不清楚指定的視圖是否可以更新,或可以更新哪些列,可以查詢USER_UPDATABLE_COLUMNS數(shù)據(jù)字典視圖。 第7頁,共86頁。例如查詢上例中建立的視圖TMP_VIEW是否可以更新可以執(zhí)行如下操作:select column_name, updatable from user_updatable_columns where table_name=TMP_VIEW;第8頁,共86頁。重新編譯視圖任何時間改變一個視圖的查詢所引用的對象時,Oracle將標記該視圖無效。再次使用視圖前它必須被重新編譯。從新編譯一個視圖語法如下:ALTER VIEW viewname C
5、OMPILE;alter view bookauthor_view compile;alter view bookonweb compile;第9頁,共86頁。重建視圖修改視圖所能處理的操作只是重新編輯視圖。若想改變視圖的定義,必須重建視圖。若想修改視圖bookonweb的定義為所有上網(wǎng)的且出版日期在1995年1月1日之后的書目信息,需要重建視圖bookonweb。create or replace view bookonwebas select * from bookinfowhere status=y and publishtime1-1月-95with read only;第10頁,共8
6、6頁。刪除視圖可以使用DROP VIEW命令從數(shù)據(jù)庫中刪除視圖。其格式為:drop view schema.viewname;drop view bookauthor_view也可以使用OEM通過右擊視圖從彈出菜單中選擇“刪除”來刪除一個視圖。 第11頁,共86頁。查看視圖信息視圖創(chuàng)建后,可以通過數(shù)據(jù)字典中的一些有關視圖信息的視圖來查看視圖。視圖名稱說明DBA_VIEWS包含了數(shù)據(jù)庫中所有的視圖信息ALL_VIEWS包含了當前用戶可以訪問的所有視圖信息USER_VIEWS包含了當前用戶所擁有的所有的視圖信息DBA_UPDATABLE_COLUMNS包含了數(shù)據(jù)庫中所有的連接多個表的可更新視圖有關
7、的表列信息ALL_UPDATABLE_COLUMNS包含了當前用戶可以訪問的所有的連接多個表的可更新視圖的表列信息USER_UPDATABLE_COLUMNS包含了當前用戶擁有的所有的連接多個表的可更新視圖的表列信息第12頁,共86頁。查詢用戶bookcreator所擁有的全部視圖的名稱、類型select view_namefrom all_viewswhere owner=BOOKCREATOR;第13頁,共86頁。序列管理Oracle序列是一個連續(xù)的數(shù)字生成器。比如希望表的主鍵是一個數(shù)字,并且希望每次向表中插入新行時那個數(shù)字能自動增加,或正在建立審計跟蹤時,需要知道生成這些審計跟蹤記錄的確
8、切的順序,而靠一個時間戳通常不足以實現(xiàn)這些功能。序列只存在于數(shù)據(jù)字典中。序列號可以被設置為上升、下降,可以沒有限制或重復使用直到一個限制值。第14頁,共86頁。創(chuàng)建序列創(chuàng)建序列使用CREATE SEQUENCE語句。其語法格式如下:CREATE SEQUENCE schema.sequencename KEYWORD下面的例子將創(chuàng)建一個序列,初始值是1,并且每次訪問自動增加1。SQL CREATE SEQUENCE sqc_plan_key 2 START WITH 1 3 INCREMENT BY 1 4 ORDER 5 NOCYCLE;第15頁,共86頁。START WITH 1用于指定初
9、始值是1。INCREMENT BY 1用于指定每次訪問自動增加1,如果INCREMENT BY后面跟一個負值,則序列將是降序的。ORDER用于保證每個序列的值都將比先前的值大。使用NOCYCLE設置序列值在達到限制值以后不能重復,這是缺省設置。當試圖產生MAXVALUE+1的值時,將會產生一個異常。 第16頁,共86頁。其它關鍵字還有:MINVALUE:定義序列可以生成的最小值,這是降序序列中的限制值。缺省情況下該值為NOMINVALUE,對于升序為1,對于降序為-10E26。MAXVALUE:序列能生成的最大數(shù)字。這是升序序列中的限制值,缺省的MAXVALUE為NOMAXVALUE,對于升序
10、為10E26,對于降序為-1。CYCLE:設置序列值在達到限制值以后可以重復。CACHE:定義序列值占據(jù)的內存塊的大小,缺省值為20。NOCACHE:在每次序列號產生時強制數(shù)據(jù)字典更新,保證在序列值之間沒有間隔當創(chuàng)建序列時,START WITH值必須等于或大于MINVALUE。第17頁,共86頁。第18頁,共86頁。改變序列改變序列的辦法也有兩種,一種是通過命令行ALTER SEQUENCE命令改變序列的選項。另一種是通過在OEM中右擊序列名,從彈出菜單中選擇“編輯”來進行改變。對于序列的當前值是無法更改的,如果應用中確有這種要求,那么只能刪除此序列后,再使用START WITH子句重建此序列
11、。 第19頁,共86頁。修改一個序列,使用ALTER SEQUENCE實現(xiàn)。如修改序列stuenno的cache屬性為30,且不可循環(huán)使用ALTER SEQUENCE stuennonocyclecache 30;第20頁,共86頁。刪除序列使用DROP SEQUENCE命令來刪除一個序列。其語法格式為:DROP SEQUENCE sequence_name也可以通過OEM來刪除序列。簡單地右擊想刪除的序列,并從彈出的菜單中選擇“移去”。當一個序列被刪除后,其相關的權限也理所當然的被刪除了,但建立在其上的同義詞或觸發(fā)器將會被保留,只不過處于無效狀態(tài),不能被使用。第21頁,共86頁。序列的應用在
12、Oracle中建立自動增加字段,需要執(zhí)行下面的操作:定義需要作為數(shù)字增加的列希望表DEPT的主鍵字段DEPTNO,每次插入行時自動增加1。表DEPT的結構如下所示:名稱 是否為空? 類型- - -DEPTNO NOT NULL NUMBER(6)DNAME VARCHAR2(30)LOC VARCHAR2(60)第22頁,共86頁。注意:DEPTNO是主鍵,其值類型是NUMBER型,且長度是6位。所以將要建立的序列的最大值不能超過999999。 CREATE SEQUENCE sqc_dept_keyNOCYCLEMAXVALUE 999999START WITH 1;第23頁,共86頁??赏?/p>
13、過nextval和currval偽列來引用序列,每引用一次序列的偽列nextval,就會按照序列的定義產生一個新的序列碼;通過序列的偽列currval可以反復利用當前的序列碼。第24頁,共86頁。可以在如下場合使用序列的nextval和currval偽列:Insert語句的values子句中Select語句中的前面選擇的表列名中Update語句中的set子句第25頁,共86頁。在如下場合不能夠使用nextval或currval偽列:子查詢視圖或快照的定義查詢帶有distinct操作符的select語句帶有group by或order by子句的select語句通過union、intersect
14、或minus與另一個select語句相結合的select語句中Select語句的where子句中Create table或alter table語句中的一個表列的default值定義中檢查約束的條件中第26頁,共86頁。想了解一個已存在的序列信息,可以通過數(shù)據(jù)字典DBA_SEQUENCES、ALL_SEQUENCES和USER_SEQUENCES等幾個視圖來查看。第27頁,共86頁。無論什么時候當插入一行時,從序列中定一個觸發(fā)器來設置列的值在DEPT表中建立插入觸發(fā)器。使得每次插入一行時,DEPTNO字段自動通過訪問序列sqc_dept_key來獲取值。第28頁,共86頁。CREATE OR
15、REPLACE TRIGGER tri_dept_setdeptnoBEFORE INSERT ON deptFOR EACH ROWDECLAREp_nextno dept.deptno%type;BEGINSELECT sqc_dept_key.NEXTVAL INTO p_nextno FROM dual;:new.deptno := p_nextno;END;/第29頁,共86頁。在建立上面的觸發(fā)器后,DEPT表中的字段DEPTNO總是使用所建立的序列來設置。即使插入語句為DEPTNO指定了一些其它的值,也是這樣。定義一個觸發(fā)器來防止更新此列。有了前面3步已經實現(xiàn)了對DEPT表主鍵自動
16、增加的功能,但如,有人更新了一條已經存在的記錄,并將主鍵值改變?yōu)橐粋€可能和將來插入相沖突的值該怎么辦。所以這個值不能被更新,下面定義一個觸發(fā)器來防止此列被更新。 第30頁,共86頁。CREATE OR REPLACE TRIGGER tri_dept_updeptnoBEFORE UPDATE OF deptno ON deptFOR EACH ROWBEGINRAISE_APPLICATION_ERROR(-20000, 不能更新自動增加類型的主鍵值!);END;/第31頁,共86頁。測試結果:首先向表DEPT中輸入一行數(shù)據(jù),查詢其結果;然后再將此行數(shù)據(jù)字段DEPTNO更新。具體操作如下所示
17、:SQL insert into dept values(203, 203,203);SQL select * from dept;SQL update dept set deptno=3;第32頁,共86頁。索引管理Oracle支持兩種基本的索引類型:B*Tree索引和位映射索引。B*Tree索引也是最常用的索引,它使用一個倒置的有序的樹形結構來加速訪問表中行的速度。 位映射索引常被用于那些包含較少唯一值的列。位映射索引總是對表中的每一行包含一條記錄。記錄的大小取決于索引列中唯一值的數(shù)量,因為位映射索引是由位的長字符串組成,如果列中的唯一值越多,需要位的長字符串就更長。 第33頁,共86頁。
18、在表EMP中存在下面一些數(shù)據(jù):SQL select empno, ename, deptno from emp;EMPNO ENAME DEPTNO- - -3926 Chen de Jun 2027101 Hao xin 7033927 Zhan zou 3022911 Ge hen Cao 7031923 Bo Wei 4105836 Jiang qin 5034926 Luo qun 7006627 Li tao 8028312 Guo hua 4109536 Shun Jian 5038926 Liu quan 700第34頁,共86頁。對ENAME字段建立B*Tree索引,則其倒置的
19、樹型結構如下所示:第35頁,共86頁。B*Tree索引有以下幾個特點:它們保持數(shù)據(jù)有序,使得查詢某一范圍的記錄更容易。對于用復合列索引,可用前沿列來快速查詢,即使那個查詢并未引用索引中所有列。它們自動保持平衡,由于所有的葉子結點在同一層,所以檢索一條記錄所需要的時間對索引中的全部數(shù)據(jù)是一致的。性能保持相對連續(xù),即使當被索引的表的大小增加時也如此。第36頁,共86頁。雇員表EMPNO 是否退休 狀態(tài)- - -3926 Yes C7101 Yes E3927 No U2911 No O1923 Yes E第37頁,共86頁。如果要在是否退休列上建立位映射索引,則其概念視圖如下所示:EMPNO Ye
20、s No- -3926 1 07101 1 03927 0 12911 0 11923 1 0第38頁,共86頁。如果在狀態(tài)列上建立位映射索引,則其概念視圖如下所示:EMPNO C E U O- -3926 1 0 0 07101 0 1 0 03927 0 0 1 02911 0 0 0 11923 0 1 0 0第39頁,共86頁。從上面看出,如果所在列在只有2個唯一值“Yes/No”時,位映射索引只需要求2位的字符串就能表示,而當其有4個唯一值時,就至少需要有4位的字符串才能表示。所以當列的唯一值很多時,會導致位映射索引很大。所以對于那些有多個唯一值的列,不適合使用它們。一個列中唯一值數(shù)
21、量越多,位映射索引效率就越低。另外位映射索引僅在Oracle企業(yè)版中可用。第40頁,共86頁。創(chuàng)建索引使用CREATE INDEX命令創(chuàng)建索引的語法如下所示:CREATE UNIQUE INDEX indx_name ON tablename(colnames) TABLESPACE tablespacename STORAGE (storage_setting) NOLOGGING NOSORT|REVERSE第41頁,共86頁。UNIQUE:指定索引的每一條記錄是唯一的。TABLESPACE:指定索引的表空間。STORAGE:指定存儲參數(shù),如果不指定將采用表空間默認的存儲參數(shù)。NOLOGG
22、ING:指定建立索引而不向數(shù)據(jù)REDO日志文件記錄索引的建立工作。使用此參數(shù)可以提高創(chuàng)建速度,缺點是由于沒寫入日志文件,所以如果通過日志文件恢復數(shù)據(jù)庫以后,將無法恢復此索引,必須重建。第42頁,共86頁。NOSORT:指定創(chuàng)建索引時不用對表中索引數(shù)據(jù)進行排序。如果表中的數(shù)據(jù)已經被排序,可以使用此選項,如果在建立索引期間,發(fā)現(xiàn)表中的數(shù)據(jù)實際并未排序則將產生異常。REVERSE:指定建立反向索引。所謂反向索引是在每個索引記錄中反轉字節(jié),比如chendj的反向索引值是jdnehc。當有大量索引記錄以相同的字母開始時,并且反向這些字母將刪除那個集合時,可以考慮采用此選項;但如果本身正在查詢一個范圍內的
23、數(shù)據(jù)時,就不適合使用REVERSE選項。第43頁,共86頁。為表DEPT的DNAME字段建立一個索引的例子。CREATE UNIQUE INDEX INDX_DEPT_DNAME ON DEPT (DNAME) TABLESPACE INDX STORAGE ( INITIAL 10K NEXT 20K MAXEXTENTS UNLIMITED) NOLOGGING REVERSE第44頁,共86頁。第45頁,共86頁。建立B-樹索引Create unique index 模式.索引名稱on (模式.)表名稱(列名asc|desc ,列名asc|desc)Create index booknm
24、_indexon bookinfo(bookname);Create index authorinfo_indexon authorinfo(birthdate,hometown,briefhistory);Create index book_press_indexon bookinfo(pressname asc);第46頁,共86頁。建立位映射索引Create bitmap index 模式.索引名稱on (模式.)表名稱(列名asc|desc ,列名asc|desc)第47頁,共86頁。設有一個汽車數(shù)據(jù)表carinfo,記錄非常多,有1000多萬條記錄,其中包含了大量的低基數(shù)列,如col
25、or(汽車顏色)、make(汽車品牌)、model(汽車型號)和year(出廠日期)等。這些列各自包含的值數(shù)目不超過100。create bitmap index car_bmp_indexon carinfo(color,make,model,year)第48頁,共86頁。查詢索引信息視圖名稱說明DBA_INDEXES包含了數(shù)據(jù)庫中所有表上的索引信息ALL_INDEXES包含了當前用戶可以訪問的所有表上的索引信息USER_INDEXES包含了當前用戶所擁有的所有表上的索引信息DBA_IND_COLUMNS包含了數(shù)據(jù)庫中所有與索引有關的表列信息ALL_IND_COLUMNS包含了當前用戶可以訪
26、問的所有表里的與索引有關的表列信息USER_IND_COLUMNS包含了當前用戶擁有的所有表里的與索引有關的表列信息DBA_IND_EXPRESSIONS包含了數(shù)據(jù)庫中所有基于函數(shù)索引的表達式信息ALL_IND_EXPRESSIONS包含了當前用戶可以訪問的所有表里基于函數(shù)索引的表達式信息USER_IND_EXPRESSIONS包含了當前用戶擁有的所有表里的基于函數(shù)索引的表達式信息V$OBJECT_USAGE包含了索引使用的動態(tài)視圖信息第49頁,共86頁。列出當前用戶所擁有表中的所有索引的信息的命令:select index_name,index_type,uniquenessfrom use
27、r_indexes;查詢某個索引對應的表名、表列、升降序等信息select index_name,table_name,column_name,column_position,descendfrom user_ind_columnswhere index_name=BOOKNM_INDEX;第50頁,共86頁。修改索引在建立索引后可以改變它,但是,在大多數(shù)情況下,僅限于改變其物理特點。不能向索引中增加列。Oracle允許進行下列變化:將一個索引移動到另一個表空間使用不同的存儲參數(shù)重建索引對索引更名重新分配不使用的空間或分配一個新的空間標志此索引不可被使用其實重新將一個索引定位到另一個表空間,實
28、際上需要索引完全重建。只不過,Oracle使這個過程自動化了。開始或終止對一個索引的使用情況進行監(jiān)控。第51頁,共86頁??梢允褂肁LTER INDEX命令來改變索引。 ALTER INDEX indx_dept_dname RENAME TO indx_dept_dname_new;另外使用REBUILD子句可以進行許多物理變化。重建索引時,Oracle通過使用一套新的存儲參數(shù)從臨時本中重建索引。 第52頁,共86頁。通過重建indx_dept_dname索引來改變其參數(shù):ALTER INDEX indx_dept_dname REBUILDTABLESPACE usersNOLOGGING
29、STORAGE(INITIAL 5K NEXT 5K);ALTER INDEX BOOK_PRESS_INDEX REBUILDTABLESPACE USERSONLINESTORAGE(INITIAL 5K NEXT 5K);Tablespace users表明在users表空間里重建索引,Online指定在重建過程中希望用戶訪問表。第53頁,共86頁。把索引BOOKNM_INDEX的名稱改為BOOKNAME_INDEXALTER INDEX BOOKNM_INDEXRENAME TO BOOKNAME_INDEX;SELECT index_name,table_name,column_na
30、me,descendFrom user_ind_columnswhere index_name=BOOKNAME_INDEX;第54頁,共86頁。也可以在OEM中,通過可視化的GUI界面來修改一個索引。其創(chuàng)建的步驟如下所示:啟動OEM并注冊到數(shù)據(jù)庫。打開索引文件夾,選取準備更改的索引。右擊此索引并從彈出菜單選擇編輯。將彈出編輯窗口,其界面和新建索引類似。修改相關信息后點“確認”,OEM將執(zhí)行索引的修改操作。第55頁,共86頁。刪除索引可以使用DROP INDEX命令從數(shù)據(jù)庫中刪除索引。 DROP INDEX INDX_DEPT_DNAME;DROP INDEX AUTHORINFO_INDEX
31、;不能夠直接刪除與主鍵或唯一鍵約束相關的索引。必須先刪除相應的主鍵或唯一鍵約束。在OEM中,可以通過在索引名字上右擊并從彈出菜單中選擇“移去”來刪除一個索引。第56頁,共86頁。聚簇聚簇是(clusters)一種可選的數(shù)據(jù)庫對象,它將經常在相同數(shù)據(jù)塊中一起使用的表進行物理分組,使經常被同時訪問的表在物理位置上可以存儲在一起。聚簇分為表簇(table cluster)和哈希簇(hash cluster)。第57頁,共86頁。一個表簇由若干個共享著相同數(shù)據(jù)塊的表構成,這些表具有一個或多個相同的表列并且常常一起使用。同一個表簇中的各個表中相關的列稱為簇鍵(cluster key)。簇鍵用一個簇索引(
32、cluster index)來進行索引。對于簇中的多個表,簇鍵值只存儲一次。第58頁,共86頁。創(chuàng)建表簇之前的準備:主要用于執(zhí)行查詢操作,而不是插入或更新操作。表經常一起被查詢或連接。第59頁,共86頁。創(chuàng)建表簇CREATE CLUSTER 模式.表簇名稱(列名1 數(shù)據(jù)類型,表列名2 數(shù)據(jù)類型)物理屬性組句SIZE 數(shù)目 K|MTABLESPACE 表空間名稱存儲屬性組句;size用于預計簇鍵和其相關的表列所需要的平均存儲空間字節(jié)數(shù)。估計能夠裝入一個成簇的數(shù)據(jù)塊內的簇鍵個數(shù)。限制了成簇數(shù)據(jù)塊內簇鍵的個數(shù),最大化優(yōu)化了簇內鍵值的存儲效率。簇和簇索引可以創(chuàng)建在不同的表空間里。第60頁,共86頁。在
33、表bookinfo和authorinfo里都有表列authorname,把這兩個表生成簇,oracle會把authorname表列放在同一個數(shù)據(jù)塊里。建立表簇book_author,以authorname為簇鍵。Create cluster book_author(authorname varchar2(20)pctused 80pctfree 5size 600tablespace usersstorage(initial 200knext 300kminextents 2maxextents 20pctincrease 33);第61頁,共86頁。創(chuàng)建表簇內的表(clustered tab
34、les)創(chuàng)建完表簇后,就可以在表簇內創(chuàng)建表了。Create table bookinfo(bookno number(38) primary key, bookname varchar2(40) not null, isbn varchar2(20), bookkind varchar2(10), authorname varchar2(20) not null references authorinfo,)Cluster book_author(authorname);第62頁,共86頁。Create table authorinfo(authorname varchar2(20) prim
35、ary key, birthdate date, hometown varchar2(40), briefhistory varchar2(200), contact varchar2(40)Cluster book_author(authorname);第63頁,共86頁。創(chuàng)建簇索引(cluster indexes)在向簇內表插入數(shù)據(jù)之前,可以為簇建一個索引。Create index 索引名稱on cluster 表簇名稱tablespace 表空間名稱存儲屬性組句;第64頁,共86頁。為表簇book_author創(chuàng)建簇索引book_author_index。Create index boo
36、k_author_indexon cluster book_authortablespace usersstorage (initial 50knext 50kminextents 2maxextents 10pctincrease 33)pctfree 5;第65頁,共86頁。查看聚簇信息視圖名稱說明DBA_CLUSTERS包含了數(shù)據(jù)庫中所有的聚簇信息ALL_CLUSTERS包含了當前用戶可以訪問的所有聚簇的信息USER_CLUSTERS包含了當前用戶所擁有的所有聚簇的信息DBA_CLU_COLUMNS包含了數(shù)據(jù)庫中所有與聚簇有關的表列信息USER_CLU_COLUMNS包含了當前用戶擁有的
37、所有表里與聚簇有關的表列信息DBA_HASH_EXPRESSIONS包含了數(shù)據(jù)庫中所有用于哈希簇的哈希函數(shù)的信息ALL_HASH_EXPRESSIONS包含了當前用戶可以訪問的用于哈希簇的哈希函數(shù)的信息USER_HASH_EXPRESSIONS包含了當前用戶擁有的所有用于哈希簇的哈希函數(shù)的信息第66頁,共86頁。列出當前用戶所擁有的所有聚簇信息的命令select cluster_name,tablespace_name,key_size, cluster_typeFrom user_clusters;第67頁,共86頁。修改聚簇信息可修改已創(chuàng)建的表簇的如下屬性:物理屬性(PCTFREE、PCT
38、USED、INITRANS、MAXTRANS和存儲屬性)存儲簇鍵信息所需的平均空間(即SIZE)默認的并行度修改表簇book_author的size為900Alter cluster book_authorSize 900;Select cluster_name,key_size,cluster_typeFrom user_clustersWhere cluster_name=BOOK_AUTHOR;第68頁,共86頁。刪除聚簇如果一個簇里的各個表不再需要了,就可以刪除這個簇。當刪掉一個簇時,簇里的表和相應的簇索引同時也被刪掉。drop cluster stuenroll_cluster;如果
39、刪除的簇中含有一個或多個表,想同時刪除。drop cluster 聚簇名稱 including tables;如果簇中的一個或多個表包含外鍵,參照了這個簇以外的表,想刪除這個簇和內部的表。drop cluster 聚簇名稱 including table cascade constraints;第69頁,共86頁。哈希簇在哈希簇中,表是基于哈希值組織的,在表的主鍵值上使用哈希函數(shù)可以得到這個哈希值。第70頁,共86頁。適用于哈希簇:大多數(shù)查詢均為等值查詢大小穩(wěn)定不適用于哈希簇對表的查詢返回結果不是單個值,而是一組鍵值大小不穩(wěn)定應用程序第71頁,共86頁。創(chuàng)建哈希簇Create cluster
40、模式. 哈希簇名稱 (列名1 數(shù)據(jù)類型 ,表列名2 數(shù)據(jù)類型)物理屬性組句size 數(shù)目 k|mtablespace 表空間名稱存儲屬性組句hash is hashkeys 數(shù)目;Hashkeys 數(shù)目用來指定哈希簇使用的哈希函數(shù)可以產生各不相同的哈希值的數(shù)量上限。Hash is用來指定一個用戶的哈希函數(shù),否則oracle使用內部定義哈希函數(shù)。第72頁,共86頁。不能夠在哈希簇里創(chuàng)建簇鍵,也沒有必要在哈希簇里創(chuàng)建索引。第73頁,共86頁。創(chuàng)建一個表stuenroll登記學生注冊信息,表大小比較穩(wěn)定,學生序號stuno,經常被等值查詢。Create cluster stuenroll_clust
41、er (stuno number(5,0)tablespace usersstorage (initial 250knext 50kminextents 1maxextents 3hash is stuno hashkeys 150;Hash is stuno表示直接采用stuno作為哈希值,無需任何哈希函數(shù)。如果簇鍵的取值各不相同,分布平均,可直接采用簇鍵值作為哈希值。第74頁,共86頁。建完哈希簇后,就可以在簇里建表了Create table stuenroll(stuno number(5,0) primary key, )Cluster stuenroll_cluster(stuno)
42、;第75頁,共86頁。修改哈希簇與表簇基本相同,但對于哈希簇,size、hash is和hashkeys屬性均不能在alter cluster命令中修改。如果想修改必須重新創(chuàng)建哈希簇,然后把數(shù)據(jù)信息從原來的哈希簇復制到新建的哈希簇里。第76頁,共86頁。同義詞管理同義詞是一個對象(表、視圖、序列、過程、函數(shù)、包、快照或其它同義詞)的一個代替的名字。同義詞能使多個用戶使用同一個對象而不用將模式作為前綴在對象前面。通過使用CREATE SYNONYM和DROP SYNONYM命令來管理同義詞。對另一個數(shù)據(jù)對象而言同義詞是一個別名。Oracle支持兩種類型的同義詞:公共的和專有的。其中公共同義詞是針對所有用戶的,相對而言專有同義詞則只針對對象擁有者或被授予權限的用戶。同義詞的另一個用途是能使兩個應用程序用兩個不同名字指向同一個表。第77頁,共86頁。創(chuàng)建同義詞采用命令方式建立同義詞只要具有CREATE SYNONYM權限,就可以建立同義詞,如果建立的是公共同義詞,則需要有CREATE PUBLIC SYNONYM權限。建立了同義詞,并不意味著就能訪問此同義詞代表的對象。必須要由目標對象的所有者授予你相應的訪問權限,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度應收賬款質押擔保貸款合同書
- 2025酒店服務員勞動合同
- 11大家排好隊(說課稿)-2024-2025學年統(tǒng)編版道德與法治二年級上冊001
- 2024新教材高中歷史 第三單元 商業(yè)貿易與日常生活 第9課 20世紀以來人類的經濟與生活說課稿 部編版選擇性必修2001
- 2024年秋七年級英語上冊 Unit 5 Lets celebrate Integrated Skills說課稿 (新版)牛津版
- 2024秋七年級英語上冊 Unit 3 Is this your pencil Period 4 Section B (2a-Self Check)說課稿(新版)人教新目標版
- 2024-2025學年新教材高中歷史 第三單元 走向整體的世界 第7課 全球聯(lián)系的初步建立與世界格局的演變教學說課稿 新人教版必修《中外歷史綱要(下)》
- 2024-2025學年高中語文下學期第15周《白馬篇》說課稿
- 二零二五林業(yè)用地林權林地租賃合同示范文本2篇
- 2023-2024學年高中化學 4.1 分子的空間結構說課稿 蘇教版選擇性必修2
- 2024年北京東城社區(qū)工作者招聘筆試真題
- 《敏捷項目管理》課件
- 統(tǒng)編版(2024新版)七年級上學期道德與法治期末綜合測試卷(含答案)
- 黑龍江省哈爾濱市2024屆中考數(shù)學試卷(含答案)
- 前程無憂測評題庫及答案
- 高三日語一輪復習助詞「と」的用法課件
- 物業(yè)管理服務房屋及公用設施維修養(yǎng)護方案
- 醫(yī)療器械法規(guī)培訓
- 無子女離婚協(xié)議書范文百度網(wǎng)盤
- 一年級數(shù)學個位數(shù)加減法口算練習題大全(連加法-連減法-連加減法直接打印版)
- 五年級上冊小數(shù)遞等式計算200道及答案
評論
0/150
提交評論