所屬欄目:計(jì)算機(jī)網(wǎng)絡(luò)論文 發(fā)布日期:2015-07-14 15:27 熱度:
Oracle數(shù)據(jù)庫(kù)是在數(shù)據(jù)庫(kù)領(lǐng)域一直處于領(lǐng)先地位的產(chǎn)品。在Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā)中也有很多細(xì)微的技術(shù),比如觸發(fā)器。本文是一篇中文核心期刊范文,主要論述了觸發(fā)器在Oracle數(shù)據(jù)庫(kù)中的應(yīng)用研究。
摘要:Oracle數(shù)據(jù)庫(kù)是目前世界上使用最為廣泛的數(shù)據(jù)庫(kù)管理系統(tǒng),而觸發(fā)器作為一種特殊類(lèi)型的存儲(chǔ)過(guò)程,在維護(hù)數(shù)據(jù)庫(kù)安全性、完整性等方面有著重要作用。以SYSTEM模式中的emp和dept數(shù)據(jù)表為例,闡述了觸發(fā)器的概念及具體應(yīng)用,以及其在數(shù)據(jù)庫(kù)開(kāi)發(fā)中強(qiáng)大的功能和特點(diǎn)。
關(guān)鍵詞:Oracle,觸發(fā)器,SYSTEM模式,數(shù)據(jù)庫(kù)應(yīng)用
0 引言
觸發(fā)器在Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā)中作用強(qiáng)大,可以方便地基于一個(gè)表的修改,自動(dòng)更新其它相關(guān)表的記錄,以保證數(shù)據(jù)的完整性和一致性。觸發(fā)器是建立在Oracle數(shù)據(jù)表上的一種特殊的存儲(chǔ)過(guò)程,它定義了一些與數(shù)據(jù)庫(kù)相關(guān)事件(INSERT、UPDATE、CREATE等)發(fā)生時(shí)應(yīng)執(zhí)行的“功能代碼塊”,通常用于管理復(fù)雜的完整性約束或監(jiān)控對(duì)表的修改,或通知其它程序,甚至可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的審計(jì)功能。與一般存儲(chǔ)過(guò)程不同,觸發(fā)器不能直接調(diào)用,而是由事件啟動(dòng)運(yùn)行的,當(dāng)事件發(fā)生或出現(xiàn)指定操作時(shí),觸發(fā)器會(huì)自動(dòng)激活,進(jìn)行設(shè)定的數(shù)據(jù)處理。
1 觸發(fā)器組成及分類(lèi)
觸發(fā)器由觸發(fā)事件、觸發(fā)時(shí)機(jī)、觸發(fā)操作、觸發(fā)對(duì)象及觸發(fā)頻率等幾部分組成[1]。
觸發(fā)事件,是引起觸發(fā)器被觸發(fā)的事件。例如,執(zhí)行DML語(yǔ)句、DDL語(yǔ)句、數(shù)據(jù)庫(kù)系統(tǒng)事件(如系統(tǒng)啟動(dòng)或退出、產(chǎn)生異常錯(cuò)誤等)和用戶事件(如登錄或退出數(shù)據(jù)庫(kù)操作),這些操作都可以引起觸發(fā)器的運(yùn)行。
觸發(fā)時(shí)機(jī):表示在觸發(fā)事件發(fā)生之前還是之后執(zhí)行觸發(fā)。關(guān)鍵字為BEFORE、AFTER或INSTEAD OF。BEFORE表示在執(zhí)行DML等操作之前觸發(fā);AFTER表示在DML等操作之后發(fā)生;INSTEAD OF表示觸發(fā)器是替代觸發(fā)器。
觸發(fā)操作:觸發(fā)器被觸發(fā)后執(zhí)行的“程序代碼塊”。
觸發(fā)對(duì)象:包括表、視圖、模式、數(shù)據(jù)庫(kù)。只有在這些對(duì)象上發(fā)生了符合觸發(fā)條件的觸發(fā)事件,才會(huì)執(zhí)行觸發(fā)操作。
觸發(fā)頻率:指觸發(fā)器內(nèi)定義的動(dòng)作被執(zhí)行的次數(shù),即語(yǔ)句級(jí)觸發(fā)器或行級(jí)觸發(fā)器。
根據(jù)觸發(fā)事件和觸發(fā)器的執(zhí)行情況,可以將Oracle所支持的觸發(fā)器分為5種類(lèi)型:語(yǔ)句級(jí)觸發(fā)器、行級(jí)觸發(fā)器、替換觸發(fā)器、用戶事件觸發(fā)器和系統(tǒng)事件觸發(fā)器。
語(yǔ)句級(jí)觸發(fā)器:針對(duì)一條DML語(yǔ)句而引起的觸發(fā)器執(zhí)行,無(wú)論該語(yǔ)句影響了多少行數(shù)據(jù),觸發(fā)器只會(huì)執(zhí)行一次。
行級(jí)觸發(fā)器:相對(duì)于語(yǔ)句級(jí)觸發(fā)器而言,行級(jí)觸發(fā)器會(huì)針對(duì)DML操作所影響的每一行數(shù)據(jù)執(zhí)行一次觸發(fā)器。
替換觸發(fā)器:替換觸發(fā)器定義在視圖上,而不是數(shù)據(jù)表上。視圖是由多個(gè)基表連接組成的邏輯結(jié)構(gòu),一般不允許進(jìn)行DML操作。當(dāng)編寫(xiě)替換觸發(fā)器后,對(duì)視圖的操作實(shí)際上就變成了對(duì)構(gòu)成視圖的各個(gè)基表的操作。
用戶和系統(tǒng)事件觸發(fā)器:因DDL操作或用戶登錄、退出或系統(tǒng)事件等操作而引起運(yùn)行的一種觸發(fā)器。
2 觸發(fā)器編寫(xiě)應(yīng)用實(shí)例
以O(shè)racle數(shù)據(jù)庫(kù)中SYSTEM模式下的emp和dept兩張表為例。emp為員工信息表,dept為部門(mén)信息表,具體結(jié)構(gòu)如表1、表2所示。
以emp和dept為基表,滿足以下要求:①創(chuàng)建新表dept_log來(lái)監(jiān)控dept表的操作信息及操作日期;②以emp和dept為基表,創(chuàng)建一個(gè)檢索員工信息的視圖,對(duì)視圖進(jìn)行insert操作。以上兩點(diǎn)要求,實(shí)際上是在emp和dept表中創(chuàng)建行級(jí)觸發(fā)器和替換觸發(fā)器的問(wèn)題。
3 觸發(fā)器編寫(xiě)注意事項(xiàng)
在Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā)中,觸發(fā)器編寫(xiě)需注意以下幾點(diǎn):①觸發(fā)器的定義不允許帶有參數(shù);②一個(gè)表上最多有12個(gè)觸發(fā)器。但同一時(shí)間、同一事件的觸發(fā)器只能有一個(gè),并且各觸發(fā)器之間不能有矛盾;③觸發(fā)器的執(zhí)行部分只能用DML語(yǔ)句(如SELECT、INSERT、DELETE),不能使用DDL語(yǔ)句;④觸發(fā)器中不能包含事務(wù)控制語(yǔ)句(如COMMIT、ROLLBACK、SAVEPOINT)。
4 結(jié)語(yǔ)
觸發(fā)器技術(shù)是保證數(shù)據(jù)完整性、一致性的一種方法,在數(shù)據(jù)庫(kù)開(kāi)發(fā)中具有強(qiáng)大功能。在實(shí)際開(kāi)發(fā)應(yīng)用中,如能熟練地將觸發(fā)器與數(shù)據(jù)庫(kù)視圖、函數(shù)、存儲(chǔ)過(guò)程有機(jī)結(jié)合起來(lái)使用,將極大地提高計(jì)算機(jī)系統(tǒng)的運(yùn)行效率,達(dá)到滿意的效果。
參考文獻(xiàn):
[1] 楊永健,劉尚毅.ORACLE數(shù)據(jù)庫(kù)管理、開(kāi)發(fā)與實(shí)踐[M].北京:人民郵電出版社,2012(12):141150.
[2] 顧云鋒,楊素霞.Oracle數(shù)據(jù)庫(kù)中存儲(chǔ)過(guò)程開(kāi)發(fā)研究[J].計(jì)算機(jī)與現(xiàn)代化,2011(10):138142.
[3] 劉維學(xué),喬麗平.SQL Server數(shù)據(jù)庫(kù)DML觸發(fā)器的研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013(11):6673.
[4] 楊桂霞.存儲(chǔ)過(guò)程及觸發(fā)器在SQL Server數(shù)據(jù)庫(kù)開(kāi)發(fā)中的應(yīng)用[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2012(1):6667.
[5] 石道生,張士軍,孫山.SQL Server數(shù)據(jù)庫(kù)觸發(fā)器與存儲(chǔ)過(guò)程技術(shù)在自定義數(shù)據(jù)表中的應(yīng)用[J].計(jì)算機(jī)與現(xiàn)代化,2004(3):22-27.
中文核心期刊論文發(fā)表《電子設(shè)計(jì)工程》(半月刊),中國(guó)科技核心期刊(科技論文統(tǒng)計(jì)源期刊),創(chuàng)刊于1993年,原名《國(guó)外電子元器件》,主要介紹具有較高學(xué)術(shù)水平的、電子領(lǐng)域相關(guān)的理論、技術(shù)、方法的專(zhuān)業(yè)性技術(shù)期刊。主要欄目有:計(jì)算機(jī)技術(shù)應(yīng)用、網(wǎng)絡(luò)與通信工程、測(cè)控與儀器儀表、圖像與多媒體技術(shù)、開(kāi)發(fā)與應(yīng)用、數(shù)字處理技術(shù)、嵌入式技術(shù)、消費(fèi)類(lèi)電子、汽車(chē)電子、集成電路應(yīng)用、新特器件應(yīng)用、電源技術(shù)與應(yīng)用、信息安全、工業(yè)自動(dòng)化、電力電子等
文章標(biāo)題:中文核心期刊范文觸發(fā)器在Oracle數(shù)據(jù)庫(kù)中的應(yīng)用研究
轉(zhuǎn)載請(qǐng)注明來(lái)自:http://www.56st48f.cn/fblw/dianxin/wangluo/27410.html
攝影藝術(shù)領(lǐng)域AHCI期刊推薦《Phot...關(guān)注:105
Nature旗下多學(xué)科子刊Nature Com...關(guān)注:152
中小學(xué)教師值得了解,這些教育學(xué)...關(guān)注:47
2025年寫(xiě)管理學(xué)論文可以用的19個(gè)...關(guān)注:192
測(cè)繪領(lǐng)域科技核心期刊選擇 輕松拿...關(guān)注:64
及時(shí)開(kāi)論文檢索證明很重要關(guān)注:52
中國(guó)水產(chǎn)科學(xué)期刊是核心期刊嗎關(guān)注:54
國(guó)際出書(shū)需要了解的問(wèn)題解答關(guān)注:58
合著出書(shū)能否評(píng)職稱(chēng)?關(guān)注:48
電信學(xué)有哪些可投稿的SCI期刊,值...關(guān)注:66
通信工程行業(yè)論文選題關(guān)注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關(guān)注:120
評(píng)職稱(chēng)發(fā)論文好還是出書(shū)好關(guān)注:68
復(fù)印報(bào)刊資料重要轉(zhuǎn)載來(lái)源期刊(...關(guān)注:51
英文期刊審稿常見(jiàn)的論文狀態(tài)及其...關(guān)注:69
Web of Science 核心合集期刊評(píng)估...關(guān)注:58
電子信息論文范文
智能科學(xué)技術(shù)論文 廣播電視論文 光電技術(shù)論文 計(jì)算機(jī)信息管理論文 計(jì)算機(jī)網(wǎng)絡(luò)論文 計(jì)算機(jī)應(yīng)用論文 通信論文 信息安全論文 微電子應(yīng)用論文 電子技術(shù)論文 生物醫(yī)學(xué)工程論文 軟件開(kāi)發(fā)論文
期刊百科問(wèn)答
copyright © www.56st48f.cn, All Rights Reserved
搜論文知識(shí)網(wǎng) 冀ICP備15021333號(hào)-3