




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第四章 數(shù)據(jù)庫對象 2回顧回顧鎖用于保護(hù)多用戶環(huán)境下被修改的數(shù)據(jù)鎖分為兩種級別,即行級鎖和表級鎖表分區(qū)允許將一個表劃分成幾部分,以改善大型應(yīng)用系統(tǒng)的性能分區(qū)方法包括范圍分區(qū)、散列分區(qū)、復(fù)合分區(qū)和列表分區(qū)分區(qū)維護(hù)操作包括添加、刪除、截斷、合并和拆分分區(qū)3目標(biāo)目標(biāo)使用同義詞使用序列創(chuàng)建視圖創(chuàng)建索引4數(shù)據(jù)庫對象簡介數(shù)據(jù)庫對象簡介 Oracle 數(shù)據(jù)庫對象又稱模式對象數(shù)據(jù)庫對象是邏輯結(jié)構(gòu)的集合,最基本的數(shù)據(jù)庫對象是表其他數(shù)據(jù)庫對象包括:數(shù)據(jù)庫對象數(shù)據(jù)庫對象 同義詞序列視圖索引5同義詞同義詞 3-1同義詞是現(xiàn)有對象的一個別名。簡化SQL語句隱藏對象的名稱和所有者提供對對象的公共訪問同義詞共有兩種類型:同
2、義詞私有同義詞公有同義詞私有同義詞只能在其模式內(nèi)訪問,且不能與當(dāng)前模式的對象同名。公有同義詞可被所有的數(shù)據(jù)庫用戶訪問。6同義詞同義詞 3-2CREATE SYNONYM emp FOR SCOTT.emp;SCOTT.emp的別名模式名表名私有同義詞公有同義詞CREATE PUBLIC SYNONYM emp_syn FOR SCOTT.emp;同義詞名稱7同義詞同義詞 3-3創(chuàng)建或替換現(xiàn)有的同義詞CREATE OR REPLACE SYNONYM emp_syn FOR SCOTT.emp;替換現(xiàn)有的同義詞SQL DROP SYNONYM emp; SQL DROP PUBLIC SYNON
3、YM emp_syn; 刪除同義詞8序列序列序列是用于生成唯一、連續(xù)序號的對象序列可以是升序的,也可以是降序的使用CREATE SEQUENCE語句創(chuàng)建序列SQL CREATE SEQUENCE toys_seqSTART WITH 10INCREMENT BY 10MAXVALUE 2000MINVALUE 10NOCYCLECACHE 10;指定第一個序號從 10 開始指定序號之間的間隔為 10表示序列的最大值為 2000表示序列的最小值為 10在達(dá)到最大值后停止生成下一個值指定內(nèi)存中預(yù)先分配的序號數(shù) 9訪問序列訪問序列通過序列的偽列來訪問序列的值NEXTVAL 返回序列的下一個值CURR
4、VAL 返回序列的當(dāng)前值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;檢索序列的當(dāng)前值10更改和刪除序列更改和刪除序列SQL ALTER SEQUENCE toys_seq MAXVALUE
5、5000 CYCLE;使用ALTER SEQUENCE語句修改序列,不能更改序列的START WITH參數(shù)使用DROP SEQUENCE語句刪除序列SQL DROP SEQUENCE toys_seq;11視圖視圖視圖以經(jīng)過定制的方式顯示來自一個或多個表的數(shù)據(jù)視圖可以視為“虛擬表”或“存儲的查詢”創(chuàng)建視圖所依據(jù)的表稱為“基表”視圖的優(yōu)點有:提供了另外一種級別的表安全性隱藏的數(shù)據(jù)的復(fù)雜性簡化的用戶的SQL命令隔離基表結(jié)構(gòu)的改變通過重命名列,從另一個角度提供數(shù)據(jù)12創(chuàng)建視圖創(chuàng)建視圖 3-1studnostudnamestudmarkssubnostudcaste1Rob452Open2James3
6、34SC3Jesica405OpenStud_detailsStud_viewstudnostudnamesubno1Rob22James43Jesica5創(chuàng)建視圖CREATE VIEW stud_viewAS SELECT studno, studname, subnoFROM Stud_details;13創(chuàng)建視圖創(chuàng)建視圖 3-2創(chuàng)建視圖的語法: CREATE OR REPLACE FORCE VIEW view_name (alias, alias.) AS select_statement WITH CHECK OPTION WITH READ ONLY;14創(chuàng)建視圖創(chuàng)建視圖 3-3使
7、用 WITH CHECK OPTION 選項創(chuàng)建視圖CREATE OR REPLACE VIEW pause_view ASSELECT * FROM order_master WHERE ostatus = pWITH CHECK OPTION CONSTRAINT chk_pv;使用 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;15聯(lián)接視
8、圖聯(lián)接視圖 2-1StudnoStudnameSubmrksSubno1Rob4522James3343Jesica404SubnoSubname2English4Maths5ScienceStud_detailsSub_detailsStudnoStudnameSubmrksSubname1Rob45English2James33Maths3Jesica40MathsCREATE VIEW Stud_sub_view ASSELECT Studno, Studname, Submrks, SubnameFROM Stud_details, Sub_Details WHERE Stud_det
9、ails.Subno=Sub_details.Subno;Stud_sub_view聯(lián)接視圖16聯(lián)接視圖聯(lián)接視圖 2-2創(chuàng)建外聯(lián)接視圖CREATE VIEW ven_ord_outj_view ASSELECT vm.vencode, venname, orderno, odate, ostatusFROM vendor_master vm, order_master omWHERE vm.vencode = om.vencode(+);SELECT vm.vencode, venname, orderno, odate, ostatusFROM vendor_master vm LEFT O
10、UTER JOIN order_master omON vm.vencode = om.vencode;17視圖上的視圖上的DML語句語句在視圖上也可以使用修改數(shù)據(jù)的DML語句,如INSERT、UPDATE和DELETE視圖上的DML語句有如下限制:只能修改一個底層的基表如果修改違反了基表的約束條件,則無法更新視圖如果視圖包含連接操作符、DISTINCT 關(guān)鍵字、集合操作符、聚合函數(shù)或 GROUP BY 子句,則將無法更新視圖如果視圖包含偽列或表達(dá)式,則將無法更新視圖18鍵保留表鍵保留表StudnoStudnameSubmrksSubno1Rob4522James3343Jesica404Su
11、bnoSubname2English4Maths5ScienceStud_detailsSub_detailsStudnoStudnameSubmarksSubnoSubname1Rob452English2James334Maths3Jesica404Maths鍵保留表因為 Studno 既是 Stud_details 中的主鍵,也是聯(lián)接結(jié)果中的主鍵 Stud_details 為什么是鍵保留表?聯(lián)接視圖19視圖中可以使用單行函數(shù)、分組函數(shù)和表達(dá)式使用DROP VIEW語句刪除視圖視圖中的函數(shù)視圖中的函數(shù)CREATE VIEW item_view AS SELECT itemcode, LOW
12、ER(itemdesc) item_descFROM itemfile; SQL DROP VIEW toys_view; 20索引索引 3-1索引是與表相關(guān)的一個可選結(jié)構(gòu)用以提高 SQL 語句執(zhí)行的性能減少磁盤I/O使用 CREATE INDEX 語句創(chuàng)建索引在邏輯上和物理上都獨立于表的數(shù)據(jù)Oracle 自動維護(hù)索引21索引索引 3-2索引有各種類型,除了標(biāo)準(zhǔn)索引外,還有一些特殊類型的索引:索引的類型基于函數(shù)的索引反向鍵索引位圖索引唯一索引組合索引22索引索引 3-3SQL CREATE INDEX item_index ON itemfile (itemcode) TABLESPACE i
13、ndex_tbs;創(chuàng)建標(biāo)準(zhǔn)索引重建索引SQL ALTER INDEX item_index REBUILD; 刪除索引SQL DROP INDEX item_index; 23唯一索引唯一索引SQL CREATE UNIQUE INDEX item_index ON itemfile (itemcode);唯一索引確保在定義索引的列中沒有重復(fù)值Oracle 自動在表的主鍵列上創(chuàng)建唯一索引使用CREATE UNIQUE INDEX語句創(chuàng)建唯一索引24組合索引組合索引SQL CREATE INDEX comp_index ON itemfile(p_category, itemrate);組合索引
14、是在表的多個列上創(chuàng)建的索引索引中列的順序是任意的如果 SQL 語句的 WHERE 子句中引用了組合索引的所有列或大多數(shù)列,則可以提高檢索速度25反向鍵索引反轉(zhuǎn)索引列鍵值的每個字節(jié)通常建立在值是連續(xù)增長的列上,使數(shù)據(jù)均勻地分布在整個索引上創(chuàng)建索引時使用REVERSE關(guān)鍵字反向鍵索引反向鍵索引SQL CREATE INDEX rev_index ON itemfile (itemcode) REVERSE;SQL ALTER INDEX rev_index REBUID NOREVERSE;26位圖索引位圖索引SQL CREATE BITMAP INDEX bit_index ON order_m
15、aster (orderno);位圖索引適合創(chuàng)建在低基數(shù)列上位圖索引不直接存儲ROWID,而是存儲字節(jié)位到ROWID的映射減少響應(yīng)時間節(jié)省空間占用27基于函數(shù)的索引基于函數(shù)的索引SQL CREATE INDEX lowercase_idx ON toys (LOWER(toyname);基于一個或多個列上的函數(shù)或表達(dá)式創(chuàng)建的索引表達(dá)式中不能出現(xiàn)聚合函數(shù)不能在LOB類型的列上創(chuàng)建創(chuàng)建時必須具有 QUERY REWRITE 權(quán)限SQL SELECT toyid FROM toys WHERE LOWER(toyname)=doll;28索引組織表索引組織表 2-1SQL CREATE TABLE
16、ind_org_tab ( vencode NUMBER(4) PRIMARY KEY, venname VARCHAR2(20) ) ORGANIZATION INDEX;索引組織表的數(shù)據(jù)存儲在與其關(guān)聯(lián)的索引中索引中存儲的是行的實際數(shù)據(jù),而不是ROWID基于主鍵訪問數(shù)據(jù)CREATE TABLE 命令與 ORGANIZATION INDEX 子句一起用于創(chuàng)建索引組織表29索引組織表索引組織表 2-2普通表與索引組織表的比較普通表索引組織表ROWID 唯一地標(biāo)識行主鍵唯一地標(biāo)識行隱式的 ROWID 列沒有隱式的 ROWID 列基于 ROWID 的訪問基于主鍵的訪問順序掃描返回所有行完全索引掃描返
17、回所有行,并按主鍵順序排列支持分區(qū)不支持分區(qū)30索引中的分區(qū)索引中的分區(qū)可以將索引存儲在不同的分區(qū)中與分區(qū)有關(guān)的索引有三種類型:局部分區(qū)索引 在分區(qū)表上創(chuàng)建的索引,在每個表分區(qū)上創(chuàng)建獨立的索引,索引的分區(qū)范圍與表一致全局分區(qū)索引 在分區(qū)表或非分區(qū)表上創(chuàng)建的索引,索引單獨指定分區(qū)的范圍,與表的分區(qū)范圍或是否分區(qū)無關(guān)全局非分區(qū)索引 在分區(qū)表上創(chuàng)建的全局普通索引,索引沒有被分區(qū)31獲取索引的信息獲取索引的信息SQL SELECT INDEX_NAME, TABLE_NAME, COLUMN_NAME FROM USER_IND_COLUMNS ORDER BY INDEX_NAME, COLUMN_POSI
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度跨境電商物流風(fēng)險承擔(dān)協(xié)議
- 二零二五年度北京小客車指標(biāo)車牌租賃及交通違章處理合同
- 2025年度高速公路隧道道閘系統(tǒng)安裝與通風(fēng)管理合同
- 2025年度航空航天產(chǎn)業(yè)融資服務(wù)合同
- 2025年度高速列車乘客搭乘免責(zé)協(xié)議
- 2025年度特色項目按摩師用工合同書
- 產(chǎn)品發(fā)布與推廣流程優(yōu)化指南
- 新辦公大樓落成慶典上的發(fā)言稿
- 聘用資料員勞動協(xié)議
- 業(yè)務(wù)合作備忘錄及協(xié)議事項約定
- 某醫(yī)院食堂餐飲服務(wù)投標(biāo)方案(技術(shù)方案)
- 中小河治理工程監(jiān)理規(guī)劃(城鄉(xiāng))
- 多發(fā)性硬化診斷與治療指南(2023版)解讀
- 2024新版(外研版三起joinin)三年級英語上冊單詞帶音標(biāo)
- 工程質(zhì)量控制流程圖
- 現(xiàn)代家政導(dǎo)論-課件 1.2.2認(rèn)識現(xiàn)代家政的特點和功能
- 汽車保險與理賠課件 3.4認(rèn)識新能源汽車車上人員責(zé)任保險
- 物業(yè)公司市場拓展全員營銷激勵方案
- 2024-2025學(xué)年小學(xué)美術(shù)一年級下冊(2024)嶺南版(2024)教學(xué)設(shè)計合集
- 2024-2025學(xué)年初中信息技術(shù)(信息科技)七年級下冊甘教版教學(xué)設(shè)計合集
- 2024年安徽省文化和旅游行業(yè)職業(yè)技能大賽(導(dǎo)游賽項)考試題庫(含答案)
評論
0/150
提交評論