第六章 視圖、索引、序列和權(quán)限設(shè)置.doc_第1頁
第六章 視圖、索引、序列和權(quán)限設(shè)置.doc_第2頁
第六章 視圖、索引、序列和權(quán)限設(shè)置.doc_第3頁
第六章 視圖、索引、序列和權(quán)限設(shè)置.doc_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第六章 視圖、索引、序列和權(quán)限設(shè)置一通過學(xué)習(xí)1 掌握視圖(VIEW)在Oracle的應(yīng)用。2 了解索引的應(yīng)用。3 了解Oracle中權(quán)限機(jī)制。4 掌握GRANT和REVOKE命令。二預(yù)備知識1 視圖(VIEW)視圖是一個“窗口”,通過它可以看或修改數(shù)據(jù)庫表中的數(shù)據(jù)。視圖來源于表或其他視圖。視圖只存為SELECT語句。它只是一個虛表而不是在物理存儲器上的真正存在的數(shù)據(jù)表。視圖沒有自己的數(shù)據(jù),它的數(shù)據(jù)來自基表。視圖的優(yōu)點:n 限制對數(shù)據(jù)庫的訪問。n 允許用戶對復(fù)雜的查詢進(jìn)行簡單的查詢。n 對特別的用戶和應(yīng)用程序提供數(shù)據(jù)獨立性。視圖對從多個數(shù)據(jù)庫表中檢索數(shù)據(jù)是透明的。視圖也允許不同的用戶對同一數(shù)據(jù)表有不同的數(shù)據(jù)窗口。生成視圖的命令格式:CREATE OR REPLACE FORCE VIEW view-name (column1, column2, ) AS SELECT statement WITH CHECK OPTION CONSTRAINT constraint_name;a)、OR REPLACE選項:如果OR REPLACE選項存在,那么即使有一個與view-name同名的視圖已經(jīng)存在,視圖也將會生成替代老的視圖。這個命令將不用刪除老視圖而生成新視圖。b)、FORCE選項:這選項將強(qiáng)制生成視圖,即使基表不存在或沒有權(quán)限訪問基表。但只有在基表存在時,視圖才能使用。c)、WITH CHECK OPTIONCONSTRAINT 選項:這選項指定通過視圖來INSERT和UPDATE基表,不允許生成視圖沒有記錄。DELETE在下列情況中是受限制的:n 連接條件n 分組函數(shù)n GROUP BY 子句n DISTINTCT命令n ROWNUMUPDATE在下列情況中是受限制的:n 上面DELETE的情況n 字段中有表達(dá)式(如 SAL*12)INSERT在下列情況中是受限制的:n 上面DELETE和UPDATE的情況n 任何NOT NULL字段刪除視圖的命令格式:DROP VIEW viewname;2 索引(有待請教)Oracle索引有兩個主要的目的:n 加快包含主鍵的記錄檢索。n 增強(qiáng)了在字段數(shù)據(jù)值中的唯一性,通常是主鍵值。KINGADAMSALLENBLAKECLARKFORDJAMESJONESKINGMARTINMILLERSCOTTSMITHTURNERWARDBLAKEJAMESMILLERTURNERSMITHALLENWARDJONESMARTINBLAKECLARKSCOTTKINGTURNERADAMSJAMESFORDMILLERROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWID圖5-1 B樹索引Oracle使用平衡B樹索引。這是一個有效的方法?;鞥MP的索引如圖5-1所示:1)、生成索引命令格式:CREATE UNIQUE INDEX index_name ON table (column , );2)、刪除索引命令格式:Drop index indexname;3 序列(SEQUENCE)序列是一數(shù)據(jù)庫對象,利用它可生成唯一的整數(shù)。一般使用序列自動地生成主碼值。一個序列的值是由特殊的Oracle程序自動生成,因此序列避免了在應(yīng)用層實現(xiàn)序列而引起的性能瓶頸。Oracle序列允許同時生成多個序列號,而每一個序列號是唯一的。當(dāng)一個序列號生成時,序列是遞增,獨立于事務(wù)的提交或回滾。允許設(shè)計缺省序列,不需指定任何子句。該序列為上升序列,由1開始,增量為1,沒有上限。1) 建立序列命令CREATE SEQUENCE user.sequence_nameincrement by nstart with nmaxvalue n | nomaxvalueminvalue n | nominvalue;INCREMENT BY: 指定序列號之間的間隔,該值可為正的或負(fù)的整數(shù),但不可為0。序列為升序。忽略該子句時,缺省值為1。START WITH:指定生成的第一個序列號。在升序時,序列可從比最小值大的值開始,缺省值為序列的最小值。對于降序,序列可由比最大值小的值開始,缺省值為序列的最大值。MAXVALUE:指定序列可生成的最大值。NOMAXVALUE:為升序指定最大值為1027,為降序指定最大值為-1。MINVALUE:指定序列的最小值。NOMINVALUE:為升序指定最小值為1。為降序指定最小值為-1026。2) 更改序列命令A(yù)LTERSEQUENCE user.sequence_nameINCREMENT BY nMAXVALUE n| NOMAXVALUE MINVALUE n | NOMINVALUE;修改序列可以:l 修改未來序列值的增量。l 設(shè)置或撤消最小值或最大值。l 改變緩沖序列的數(shù)目。l 指定序列號是否是有序。3) 刪除序列命令DROP SEQUENCE user.sequence_name;從數(shù)據(jù)庫中刪除一序列。4 用戶1) 創(chuàng)建用戶CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE spacename;IDENTIFIED BY:在用戶登錄時必須提供該口令。DEFAULT TABLESPACE:標(biāo)識用戶建立對象的缺省表空間。注:用戶必須具有CREATE USER特權(quán)。2) 更改用戶命令A(yù)LTER USER username IDENTIFIED BY PASSWORD DEFAULT TABLESPACE spacename;修改自己的口令不需特權(quán),若修改其他用戶的口令需要ALTER USER特權(quán)。3) 刪除用戶DROP USER username CASCADE注:用戶使用該命令必須具有DROP USER系統(tǒng)特權(quán)。5 特權(quán)設(shè)置1) 對象特權(quán)對象特權(quán)表視圖序列過程、函數(shù)、包ALTERDELETEEXECUTEINDEXINSERTREFERENCESSELECTUPDATE2) 對象特權(quán)授權(quán)命令GRANT priv1, priv2, ON object_n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論