《Oracle數(shù)據(jù)庫實(shí)用教程(第二版)》課件第07章 其他常用方案對象_第1頁
《Oracle數(shù)據(jù)庫實(shí)用教程(第二版)》課件第07章 其他常用方案對象_第2頁
《Oracle數(shù)據(jù)庫實(shí)用教程(第二版)》課件第07章 其他常用方案對象_第3頁
《Oracle數(shù)據(jù)庫實(shí)用教程(第二版)》課件第07章 其他常用方案對象_第4頁
《Oracle數(shù)據(jù)庫實(shí)用教程(第二版)》課件第07章 其他常用方案對象_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

序列用于產(chǎn)生自增不重復(fù)整數(shù)一般形象地稱為序列生成器7.1序列創(chuàng)建序列語法CREATESEQUENCE[schema.]sequence[INCREMENTBYn][STARTWITHn][MAXVALUEn|NOMAXVALUE][MINVALUEn|NOMINVALUE][CYCLE|NOCYCLE][CACHEn|NOCACHE][ORDER|NOORDER];

CACHE:預(yù)分配一組序列號放到內(nèi)存默認(rèn)情況下緩存20個序號值CYCLE:聲明當(dāng)序列值到達(dá)MAXVALUE時,是否從最小值(MINVALUE)開始重新啟用那些被使用過的序列號1.序列創(chuàng)建與刪除語法數(shù)據(jù)字典USER_SEQUENCES刪除序列語法DROPSEQUENCEsequence;

NEXTVAL:序列的下一個新的序號值CURRVAL:序列的當(dāng)前序號值2.NEXTVAL和CURRVAL偽列引用方法在NEXTVAL和CURRVAL之前冠以序列的名字用“.”連接一般在SELECT語句中使用SELECT序列.nextvalFROMdual;SELECT序列.currvalFROMdual;例7.1某電子商務(wù)網(wǎng)站估計(jì)每月產(chǎn)生近千萬條訂單記錄。該網(wǎng)站采用年YYYY+月MM+當(dāng)月流水號nnnnnnnn的形式標(biāo)識和區(qū)分每一份訂單。當(dāng)有用戶提交一份訂單時,系統(tǒng)自動生成該訂單的編號并告知用戶這個唯一的訂單號。創(chuàng)建一序列,用于生成每月的訂單流水號。EXA_07_01.SQL

NEXTVAL和CURRVAL偽列可用于下列場合(1)非子查詢的SELECT語句的列名表(2)INSERT語句的SELECT子查詢的列名表(3)INSERT語句的VALUES子句(4)UPDATE語句的SET子句2.NEXTVAL和CURRVAL偽列NEXTVAL和CURRVAL偽列不可用于以下場合例7.2序列值的使用。EXA_07_02.SQL(1)視圖定義(2)帶DISTINCT關(guān)鍵字的SELECT語句(3)帶GROUPBY、HAVING或ORDERBY子句的SELECT語句(4)SELECT、DELETE、UPDATE語句的子查詢(5)CREATETABLE和ALTERTABLE語句的DEFAULT子句3.關(guān)于“間隙”序列可被多個用戶共享,其值可能被用于多個表,另外由于使用CACHE選項(xiàng)可能導(dǎo)致部分序列號被丟棄,使得不是每個序列號值都會被用上或被用到同一個表中,從而產(chǎn)生“間隙”。所謂“間隙”即在一個表中看到的序列號值不連續(xù)、不完整的現(xiàn)象。“間隙”可能是正常的,也可能不是,需要綜合分析以作出正確的判斷。數(shù)據(jù)庫鏈接是一個描述符,定義了一條從一個Oracle數(shù)據(jù)庫服務(wù)器到另一個Oracle數(shù)據(jù)庫服務(wù)器間的單向的通信路徑7.2數(shù)據(jù)庫鏈接創(chuàng)建數(shù)據(jù)庫鏈接的簡要語法如下:CREATE[PUBLIC]DATABASELINKdatabaselinkCONNECTTOuserIDENTIFIEDBYpasswordUSING'connect_string';user:遠(yuǎn)程數(shù)據(jù)庫上的一個有效用戶password:遠(yuǎn)程數(shù)據(jù)庫用戶的口令connect_string:連接被訪問遠(yuǎn)程數(shù)據(jù)庫的主機(jī)字符串該字符串位于本地Oracle數(shù)據(jù)庫服務(wù)器上也稱為數(shù)據(jù)庫鏈路通過數(shù)據(jù)庫鏈接允許本地服務(wù)器訪問遠(yuǎn)程服務(wù)器中對象數(shù)據(jù)庫鏈接的創(chuàng)建和使用例7.3建立一個從ORCL指向CEMERP的數(shù)據(jù)庫鏈接。EXA_07_03.SQL可遵循以下步驟使用數(shù)據(jù)庫鏈接(1)在本地服務(wù)器上使用NetConfigurationAssistant建立連接遠(yuǎn)程服務(wù)器的主機(jī)字符串(2)在本地服務(wù)器上創(chuàng)建指向遠(yuǎn)程服務(wù)器的數(shù)據(jù)庫鏈接(3)啟動遠(yuǎn)程服務(wù)器上Oracle數(shù)據(jù)庫的監(jiān)聽進(jìn)程(4)使用形如“objectname@databaselink”的格式訪問databaselink所指示的遠(yuǎn)程數(shù)據(jù)庫中的表、視圖等數(shù)據(jù)庫對象數(shù)據(jù)字典USER_DB_LINKS刪除數(shù)據(jù)庫鏈接語法DROPDATABASELINKdatabaselink;實(shí)體化視圖日志是與實(shí)體化視圖的主表相聯(lián)系的表存儲主表數(shù)據(jù)的變化,用于刷新主表的實(shí)體化視圖7.3實(shí)體化視圖日志在主數(shù)據(jù)庫上為主表建立實(shí)體化視圖日志實(shí)體化視圖日志表命名MLOG$_主表名需要具備創(chuàng)建表的系統(tǒng)特權(quán)需要為實(shí)體化視圖日志指出依據(jù)什么來記載主表中數(shù)據(jù)的變化一般指定為PRIMARYKEY創(chuàng)建實(shí)體化視圖日志的語法CREATEMATERIALIZEDVIEWLOGON[schema.]table[{physical_attributes_clause|TABLESPACEtablespace|{LOGGING|NOLOGGING}|{CACHE|NOCACHE}}][{NOPARALLEL|PARALLEL[integer]}][table_partitioning_clauses][WITH{OBJECTID|PRIMARYKEY|ROWID|SEQUENCE|(column[,column]...)}[{INCLUDING|EXCLUDING}NEWVALUES]];實(shí)體化視圖是一個表,它包括了從一個或多個表或視圖中查詢得到的結(jié)果,通常被查的表或視圖位于遠(yuǎn)程數(shù)據(jù)庫中7.4實(shí)體化視圖提供數(shù)據(jù)的表或視圖稱為主表被查詢的遠(yuǎn)程數(shù)據(jù)庫稱為主數(shù)據(jù)庫。實(shí)體化視圖主要用于提高分布式數(shù)據(jù)庫的可用性實(shí)體化視圖可分為兩種簡單實(shí)體化視圖復(fù)雜實(shí)體化視圖CREATEMATERIALIZEDVIEW系統(tǒng)權(quán)限1.創(chuàng)建實(shí)體化視圖的語法CREATEMATERIALIZEDVIEW[schema.]materialized_view[OF[schema.]object_type][BUILD{IMMEDIATE|DEFERRED}]{REFRESH{{FAST|COMPLETE|FORCE}|ON{DEMAND|COMMIT}|{STARTWITH|NEXT}date|WITH{PRIMARYKEY|ROWID}}|NEVERREFRESH}ASsubquery;2.實(shí)體化視圖的刷新與刪除實(shí)體化視圖刷新類型(1)強(qiáng)制(Force)(2)快速(Fast)(3)完全(Complete)實(shí)體化視圖刷新時間(1)根據(jù)需要(OnDemand)(2)每次提交時(OnCommit)(3)第一次刷新時間(StartWithdate)(4)下次刷新時間(Nextdate)刪除實(shí)體化視圖日志語法DROPMATERIALIZEDVIEWLOGON[schema.]table;刪除實(shí)體化視圖語法DROPMATERIALIZEDVIEW[schema.]materialized_view;3.創(chuàng)建實(shí)體化視圖實(shí)例例7.4

假設(shè)ORCL數(shù)據(jù)庫為主數(shù)據(jù)庫,CEMERP數(shù)據(jù)庫為從數(shù)據(jù)庫。將ORCL中scott用戶下部門表dept的數(shù)據(jù)5分鐘刷新一次,寫到CEMERP的scott用戶的實(shí)體化視圖mv_dept中。EXA_07_04.SQL主數(shù)據(jù)庫ORCL(1)檢查SCOTT用戶的DEPT表有無主鍵(2)建立主表dept的實(shí)體化視圖日志從數(shù)據(jù)庫服務(wù)器CEMERP(1)授予建立實(shí)體化視圖和數(shù)據(jù)庫鏈接的系統(tǒng)權(quán)限(2)創(chuàng)建指向主數(shù)據(jù)庫ORCL的數(shù)據(jù)庫鏈接

(3)建立主表dept表的實(shí)體化視圖測試(1)在主表插入數(shù)據(jù)(2)查看數(shù)據(jù)刷新到實(shí)體化視圖主機(jī)字符串是一個描述符,描述要連接的數(shù)據(jù)庫服務(wù)器和例程它定義在數(shù)據(jù)庫之外,屬于OracleNet對象用法(1)用于Oracle數(shù)據(jù)庫工具和非Oracle的軟件工具的登錄連接(2)以“CONNECTuser/password@主機(jī)字符串”形式出現(xiàn)在SQL腳本文件中,用于切換要連接的數(shù)據(jù)庫和數(shù)據(jù)庫用戶身份(3)在一個具體時刻只能使用一個

溫馨提示

  • 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

提交評論