資源描述:
《文獻(xiàn)綜述oracle存儲(chǔ)過(guò)程原理及應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、宋龍:重慶交通大學(xué)畢業(yè)設(shè)計(jì)(文件綜述)畢業(yè)設(shè)計(jì)(論文)文獻(xiàn)綜述題目Oracle存儲(chǔ)過(guò)程原理及應(yīng)用專(zhuān)業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)07級(jí)計(jì)科1班學(xué)生宋龍指導(dǎo)教師王家偉重慶交通大學(xué)2011年9宋龍:重慶交通大學(xué)畢業(yè)設(shè)計(jì)(文件綜述)ORACLE存儲(chǔ)過(guò)程原理及應(yīng)用摘要計(jì)算機(jī)技術(shù)的飛速發(fā)展,推動(dòng)了整個(gè)社會(huì)的信息化進(jìn)程,促進(jìn)了信息技術(shù)的進(jìn)步,催生了量的信息系統(tǒng),尤其是各種管理軟件。而管理軟件離不開(kāi)對(duì)大量數(shù)據(jù)的處理,這就要依賴(lài)于數(shù)據(jù)庫(kù)管理系統(tǒng)。Oracle是當(dāng)前世界上使用最為廣泛的數(shù)據(jù)庫(kù)管理系統(tǒng)之一,由于Oracle擁有強(qiáng)大的數(shù)據(jù)
2、管理能力和較好的數(shù)據(jù)保密性,以及出眾的技術(shù)優(yōu)勢(shì)。Oracle得到了大規(guī)模的應(yīng)用,它經(jīng)常作為大型管理軟件的后臺(tái)數(shù)據(jù)庫(kù)。程序可以通過(guò)相應(yīng)的軟件接口對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,因?yàn)榇笮拖到y(tǒng)的業(yè)務(wù)規(guī)則一般都比較復(fù)雜,需要進(jìn)行多個(gè)庫(kù)表的操作,邏輯比較復(fù)雜,如果單純使用SQL語(yǔ)句進(jìn)行數(shù)據(jù)庫(kù)操作,應(yīng)用程序代碼會(huì)非常冗長(zhǎng),網(wǎng)絡(luò)傳輸?shù)呢?fù)擔(dān)會(huì)加重,系統(tǒng)響應(yīng)速度也較慢,一旦業(yè)務(wù)規(guī)則發(fā)生變化,需要進(jìn)行大量的代碼修改工作,尤其是對(duì)于非常復(fù)雜的數(shù)據(jù)庫(kù)操作,作量會(huì)成倍增長(zhǎng),與此相應(yīng)的系統(tǒng)調(diào)試的工作量也很大。這非常不利于系統(tǒng)的維護(hù)和使用,同時(shí)造成了系
3、統(tǒng)客戶(hù)端的工作量的加大,而服務(wù)器強(qiáng)大的處理能力又被閑置。針對(duì)這種弊端,幾乎所有的大型系統(tǒng)都使用存儲(chǔ)過(guò)程來(lái)進(jìn)行數(shù)據(jù)庫(kù)操作。采用這種數(shù)據(jù)庫(kù)操作模式,可以把應(yīng)用程序和數(shù)據(jù)庫(kù)操作相對(duì)獨(dú)立開(kāi)來(lái),分別管理。關(guān)鍵字:信息技術(shù),Oracle,數(shù)據(jù)管理,存儲(chǔ)過(guò)程,數(shù)據(jù)保密,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)技術(shù),數(shù)據(jù)庫(kù)系統(tǒng)9宋龍:重慶交通大學(xué)畢業(yè)設(shè)計(jì)(文件綜述)引言在Oracle中,復(fù)雜的業(yè)務(wù)規(guī)則和應(yīng)用邏輯可作為過(guò)程(procedure)存儲(chǔ)。存儲(chǔ)過(guò)程是一組SQL和PL/SQL語(yǔ)句,它允許我們把加強(qiáng)業(yè)務(wù)規(guī)則的代碼從應(yīng)用移動(dòng)到數(shù)據(jù)庫(kù)中。結(jié)果是,代碼
4、只存儲(chǔ)了一次,卻可以被多個(gè)應(yīng)用使用。因?yàn)镺racle支持存儲(chǔ)過(guò)程,應(yīng)用中的代碼可以變得更緊湊一致和更易于維護(hù)。使用存儲(chǔ)過(guò)程可以極大地提高數(shù)據(jù)訪(fǎng)問(wèn)效率,提升整個(gè)應(yīng)用系統(tǒng)的性能。針對(duì)一些比較復(fù)雜的業(yè)務(wù)規(guī)則的處理,可以放在數(shù)據(jù)庫(kù)中由服務(wù)器執(zhí)行。在客戶(hù)服務(wù)器或三級(jí)應(yīng)用中,把復(fù)雜應(yīng)用的處理,從應(yīng)用轉(zhuǎn)移到數(shù)據(jù)庫(kù)服務(wù)器,可以明顯提高性能。另外,因?yàn)閿?shù)據(jù)代碼被存儲(chǔ)在數(shù)據(jù)庫(kù)中且為靜態(tài),可以從重復(fù)使用數(shù)據(jù)庫(kù)中的相同查詢(xún)獲益。系統(tǒng)全局區(qū)中的共享SQL區(qū)(sharedSQLArea)儲(chǔ)存可執(zhí)行命令執(zhí)行后的分析版本。從而當(dāng)一個(gè)過(guò)程被再
5、次執(zhí)行時(shí),它將能夠利用上一次執(zhí)行的分析操作來(lái)提高過(guò)程的執(zhí)行性能?;谶@些原因,應(yīng)用開(kāi)發(fā)的效果也從中受益。為了創(chuàng)建一個(gè)過(guò)程對(duì)象,必須擁有CREATEPROCEDURE系統(tǒng)權(quán)限(為角色RESOURECE的一部分)。如果此過(guò)程對(duì)象在另一用戶(hù)的領(lǐng)域中,則必須擁有CREATEANYPROCEDURE系統(tǒng)權(quán)限。因?yàn)榇鎯?chǔ)過(guò)程往往與一些數(shù)據(jù)庫(kù)表有關(guān)聯(lián),所以要保證存儲(chǔ)過(guò)程的正常使用,這些過(guò)程對(duì)象的所有者必須對(duì)這些表?yè)碛幸欢ǖ牟僮鳈?quán)限,而執(zhí)行這些過(guò)程對(duì)象的用戶(hù)并不需要在其所基于的表上具有特權(quán)。這樣的用戶(hù),僅需在此過(guò)程對(duì)象上具有E
6、XECUTE權(quán)限即可。1存儲(chǔ)過(guò)程簡(jiǎn)介存儲(chǔ)過(guò)程是SQL語(yǔ)句和可選控制流語(yǔ)句的預(yù)編譯集合,以一個(gè)名稱(chēng)存儲(chǔ)作為一個(gè)單元處理.與傳統(tǒng)意義上SQL規(guī)范中的SQL語(yǔ)言不同,它是由SQL語(yǔ)句和流控制語(yǔ)句共同組成的一個(gè)過(guò)程序,通過(guò)所設(shè)置的參數(shù),調(diào)用其它過(guò)程,并返回狀態(tài)值給調(diào)用者以指示操作的成功或失敗,并能夠在遠(yuǎn)程數(shù)據(jù)庫(kù)中運(yùn)行.此外,存儲(chǔ)過(guò)程經(jīng)過(guò)數(shù)據(jù)庫(kù)編譯和優(yōu)化后存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器中,用以被客戶(hù)程序執(zhí)行調(diào)用.2存儲(chǔ)過(guò)程的優(yōu)點(diǎn)1)提高系統(tǒng)效率[2].對(duì)于客戶(hù)端來(lái)說(shuō),只要調(diào)用已在服務(wù)器中存放的存儲(chǔ)過(guò)程,并通過(guò)網(wǎng)絡(luò)發(fā)送該過(guò)程名和少量
7、入口參數(shù),數(shù)據(jù)庫(kù)服務(wù)器就可以執(zhí)行該過(guò)程,在執(zhí)行完成后只返回結(jié)果集數(shù)據(jù)給客戶(hù)端應(yīng)用程序,9宋龍:重慶交通大學(xué)畢業(yè)設(shè)計(jì)(文件綜述)而無(wú)需再在網(wǎng)上傳送大量的命令和中間結(jié)果數(shù)據(jù),這可以降低網(wǎng)絡(luò)負(fù)擔(dān),并且又可以充分利用服務(wù)器的高性能來(lái)提高運(yùn)算速度.2)提高系統(tǒng)可維護(hù)性.因?yàn)樾薷拇鎯?chǔ)過(guò)程通常比修改所部署的組件中的硬編碼SQL語(yǔ)句要容易.并且存儲(chǔ)過(guò)程和組件一樣能夠作到一次編寫(xiě)多次調(diào)用,修改與程序的其他部分獨(dú)立.3)增強(qiáng)系統(tǒng)的安全性.當(dāng)創(chuàng)建了存儲(chǔ)過(guò)程之后,可以將執(zhí)行該過(guò)程的權(quán)限授予其它用戶(hù),從而使得他可以執(zhí)行特定的數(shù)據(jù)庫(kù)操作
8、,而不能訪(fǎng)問(wèn)其它模式對(duì)象(例如表).例如,你可以將執(zhí)行過(guò)程(更新表)的權(quán)限授予其它用戶(hù),但不授予它們直接訪(fǎng)問(wèn)該表的權(quán)限.4)減少網(wǎng)絡(luò)負(fù)荷.當(dāng)客戶(hù)端發(fā)出執(zhí)行存儲(chǔ)過(guò)程的請(qǐng)求時(shí),只有執(zhí)行存儲(chǔ)過(guò)程的命令在內(nèi)部網(wǎng)絡(luò)上傳送,當(dāng)它們到達(dá)數(shù)據(jù)庫(kù)服務(wù)器時(shí),運(yùn)行存儲(chǔ)過(guò)程,客戶(hù)端在網(wǎng)上只接收返回結(jié)果或狀態(tài)信息,使得客戶(hù)機(jī)與服務(wù)器的通訊量降至最小,大大減少了網(wǎng)絡(luò)負(fù)荷.3存儲(chǔ)過(guò)程的使用3.1存儲(chǔ)過(guò)程的使用前提在Oracle中