




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第四章第四章數據庫對象回顧q 鎖用于保護多用戶環(huán)境下被修改的數據q 鎖分為兩種級別,即行級鎖和表級鎖q 表分區(qū)允許將一個表劃分成幾部分,以改善大型應用系統的性能q 分區(qū)方法包括范圍分區(qū)、散列分區(qū)、復合分區(qū)和列表分區(qū)q 分區(qū)維護操作包括添加、刪除、截斷、合并和拆分分區(qū)目標q 使用同義詞q 使用序列q 創(chuàng)建視圖q 創(chuàng)建索引數據庫對象簡介 q Oracle 數據庫對象又稱模式對象q 數據庫對象是邏輯結構的集合,最基本的數據庫對象是表q 其他數據庫對象包括:數據庫對象數據庫對象 同義詞序列視圖索引同義詞 3-1q同義詞是現有對象的一個別名。q簡化SQL語句q隱藏對象的名稱和所有者q提供對對象的公共訪問
2、q同義詞共有兩種類型:同義詞私有同義詞公有同義詞私有同義詞只能在其模式內訪問,且不能與當前模式的對象同名。(比如scott用戶的emp表,scott用戶不能創(chuàng)建與emp同名的私有同義詞)公有同義詞可被所有的數據庫用戶訪問。同義詞 3-2CREATE SYNONYM emp FOR SCOTT.emp;SCOTT.emp的別名模式名表名私有同義詞公有同義詞CREATE PUBLIC SYNONYM emp_syn FOR SCOTT.emp;同義詞名稱同義詞 3-3創(chuàng)建或替換現有的同義詞CREATE OR REPLACE SYNONYM emp_syn FOR SCOTT.emp;替換現有的同義
3、詞SQL DROP SYNONYM emp; SQL DROP PUBLIC SYNONYM emp_syn; 刪除同義詞序列q 序列是用于生成唯一、連續(xù)序號的對象q 序列可以是升序的,也可以是降序的q 使用CREATE SEQUENCE語句創(chuàng)建序列SQL CREATE SEQUENCE toys_seqSTART WITH 10INCREMENT BY 10MAXVALUE 2000MINVALUE 10NOCYCLECACHE 10;指定第一個序號從 10 開始指定序號之間的間隔為 10表示序列的最大值為 2000表示序列的最小值為 10在達到最大值后停止生成下一個值指定內存中預先分配的序
4、號數 訪問序列q通過序列的偽列來訪問序列的值qNEXTVAL 返回序列的下一個值qCURRVAL 返回序列的當前值SQL INSERT INTO toys (toyid, toyname, toyprice) VALUES ( toys_seq.NEXTVAL, TWENTY, 25);SQL INSERT INTO toys (toyid, toyname, toyprice) VALUES ( toys_seq.NEXTVAL, MAGIC PENCIL, 75);指定序列的下一個值SQL SELECT toys_seq.CURRVAL FROM dual;檢索序列的當前值更改和刪除序列S
5、QL ALTER SEQUENCE toys_seq MAXVALUE 5000 CYCLE;不能包含 start with參數值使用ALTER SEQUENCE語句修改序列,不能更改序列的START WITH參數使用DROP SEQUENCE語句刪除序列SQL DROP SEQUENCE toys_seq;視圖q 視圖以經過定制的方式顯示來自一個或多個表的數據q 視圖可以視為“虛擬表”或“存儲的查詢”q 創(chuàng)建視圖所依據的表稱為“基表”q 視圖的優(yōu)點有:q 提供了另外一種級別的表安全性q 隱藏的數據的復雜性q 簡化的用戶的SQL命令q 隔離基表結構的改變q 通過重命名列,從另一個角度提供數據創(chuàng)
6、建視圖 3-1studnostudnamestudmarkssubnostudcaste1Rob452Open2James334SC3Jesica405OpenStud_detailsStud_viewstudnostudnamesubno1Rob22James43Jesica5創(chuàng)建視圖CREATE VIEW stud_viewAS SELECT studno, studname, subnoFROM Stud_details;創(chuàng)建視圖 3-2q創(chuàng)建視圖的語法: CREATE OR REPLACE FORCE VIEW view_name (alias, alias.) AS select_s
7、tatement創(chuàng)建視圖 3-3使用 ORDER BY 子句創(chuàng)建視圖CREATE OR REPLACE VIEW ord_ven ASSELECT * FROM vendor_master ORDER BY venname;創(chuàng)建帶有錯誤的視圖CREATE FORCE VIEW ven ASSELECT * FROM venmaster;聯接視圖 2-1StudnoStudnameSubmrksSubno1Rob4522James3343Jesica404SubnoSubname2English4Maths5ScienceStud_detailsSub_detailsStudnoStudname
8、SubmrksSubname1Rob45English2James33Maths3Jesica40MathsCREATE VIEW Stud_sub_view ASSELECT Studno, Studname, Submrks, SubnameFROM Stud_details, Sub_Details WHERE Stud_details.Subno=Sub_details.Subno;Stud_sub_view聯接視圖聯接視圖 2-2創(chuàng)建外聯接視圖CREATE VIEW ven_ord_outj_view ASSELECT vm.vencode, venname, orderno, od
9、ate, ostatusFROM vendor_master vm, order_master omWHERE vm.vencode = om.vencode(+);SELECT vm.vencode, venname, orderno, odate, ostatusFROM vendor_master vm LEFT OUTER JOIN order_master omON vm.vencode = om.vencode;視圖上的DML語句q在視圖上也可以使用修改數據的DML語句,如INSERT、UPDATE和DELETEq視圖上的DML語句有如下限制:q只能修改一個底層的基表q如果修改違反
10、了基表的約束條件,則無法更新視圖q如果視圖包含連接操作符、DISTINCT 關鍵字、集合操作符、聚合函數或 GROUP BY 子句,則將無法更新視圖q如果視圖包含偽列或表達式,則將無法更新視圖鍵保留表StudnoStudnameSubmrksSubno1Rob4522James3343Jesica404SubnoSubname2English4Maths5ScienceStud_detailsSub_detailsStudnoStudnameSubmarksSubnoSubname1Rob452English2James334Maths3Jesica404Maths鍵保留表因為 Studno
11、既是 Stud_details 中的主鍵,也是聯接結果中的主鍵 Stud_details 為什么是鍵保留表?聯接視圖q 視圖中可以使用單行函數、分組函數和表達式q 使用DROP VIEW語句刪除視圖視圖中的函數CREATE VIEW item_view AS SELECT itemcode, LOWER(itemdesc) item_descFROM itemfile; SQL DROP VIEW toys_view; 索引 3-1q 索引是與表相關的一個可選結構q 用以提高 SQL 語句執(zhí)行的性能q 減少磁盤I/Oq 使用 CREATE INDEX 語句創(chuàng)建索引q 在邏輯上和物理上都獨立于表
12、的數據q Oracle 自動維護索引索引 3-2q 索引有各種類型,除了標準索引外,還有一些特殊類型的索引:索引的類型基于函數的索引反向鍵索引位圖索引唯一索引組合索引索引 3-3SQL CREATE INDEX item_index ON itemfile (itemcode) TABLESPACE index_tbs;創(chuàng)建標準索引重建索引SQL ALTER INDEX item_index REBUILD; 刪除索引SQL DROP INDEX item_index; 唯一索引SQL CREATE UNIQUE INDEX item_index ON itemfile (itemcode);
13、q 唯一索引確保在定義索引的列中沒有重復值q Oracle 自動在表的主鍵列上創(chuàng)建唯一索引q 使用CREATE UNIQUE INDEX語句創(chuàng)建唯一索引組合索引SQL CREATE INDEX comp_index ON itemfile(p_category, itemrate);q 組合索引是在表的多個列上創(chuàng)建的索引q 索引中列的順序是任意的q 如果 SQL 語句的 WHERE 子句中引用了組合索引的所有列或大多數列,則可以提高檢索速度q 反向鍵索引反轉索引列鍵值的每個字節(jié)q 通常建立在值是連續(xù)增長的列上,使數據均勻地分布在整個索引上q 創(chuàng)建索引時使用REVERSE關鍵字反向鍵索引SQL
14、CREATE INDEX rev_index ON itemfile (itemcode) REVERSE;SQL ALTER INDEX rev_index REBUID NOREVERSE;位圖索引SQL CREATE BITMAP INDEX bit_index ON order_master (orderno);q 位圖索引適合創(chuàng)建在低基數列上q 位圖索引不直接存儲ROWID,而是存儲字節(jié)位到ROWID的映射q 減少響應時間q 節(jié)省空間占用基于函數的索引SQL CREATE INDEX lowercase_idx ON toys (LOWER(toyname);q 基于一個或多個列上的函數或表達式創(chuàng)建的索引q 表達式中不能出現聚合函數q 不能在LOB類型的列上創(chuàng)建q 創(chuàng)建時必須具有 QUERY REWRITE 權限SQL SELECT toyid FROM toys WHERE LOWER(toyname)=doll;獲取索引的信息SQL SELECT INDEX_NAME, TABLE_NAME, COLUMN_NAME FROM USER_IND_CO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國封閉式基金行業(yè)市場深度調研分析及投資前景研究預測報告
- 股份公司經營管理制度
- 小學合唱班管理制度
- 市政處井蓋管理制度
- 示范婦女之家管理制度
- ngo財務管理制度
- 電腦機房衛(wèi)生管理制度
- 職工周轉房屋管理制度
- 科技發(fā)展公司管理制度
- pca患者管理制度
- 三生事業(yè)六大價值
- 鋯石基本特征及地質應用
- 絲網除沫器小計算
- 制缽機的設計(機械CAD圖紙)
- 學校財務管理制度
- 三年級下冊美術課件-第15課色彩拼貼畫|湘美版(共11張PPT)
- 水稻病蟲統防統治工作總結
- 水在不同溫度下的折射率、粘度和介電常數
- howdoyoucometoschoolPPT課件
- 四柱特高弟子班絕密資料——席學易
- 廣安市教育局文件材料歸檔范圍及保管期限表
評論
0/150
提交評論