国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的存儲(chǔ)過程和觸發(fā)器應(yīng)用研究

2019-09-10 07:22鄒佛新
電子商務(wù) 2019年2期
關(guān)鍵詞:觸發(fā)器

鄒佛新

摘要:存儲(chǔ)過程和觸發(fā)器都是存儲(chǔ)在數(shù)據(jù)庫(kù)中的一段程序,用戶可以調(diào)用程序完成某種操作,將前臺(tái)程序和后臺(tái)程序分開設(shè)計(jì),簡(jiǎn)化了系統(tǒng)設(shè)計(jì)的過程。本文簡(jiǎn)單概述了存儲(chǔ)過程與觸發(fā)器的特點(diǎn),并根據(jù)這些特點(diǎn)將其應(yīng)用在某書城電子圖書會(huì)員購(gòu)物系統(tǒng),取得了良好的效果。

關(guān)鍵詞:網(wǎng)絡(luò)數(shù)據(jù)庫(kù);存儲(chǔ)過程;觸發(fā)器

引言

隨著互聯(lián)網(wǎng)的發(fā)展,計(jì)算機(jī)信息技術(shù)廣泛應(yīng)用在社會(huì)各個(gè)行業(yè)。在信息化過程中,每天產(chǎn)生海量的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的管理已經(jīng)成為企事業(yè)單位發(fā)展的重要內(nèi)容。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)過程中,只考慮應(yīng)用系統(tǒng)的工作流程和功能,忽視了系統(tǒng)的性能,導(dǎo)致系統(tǒng)應(yīng)用過程中出現(xiàn)兼容性能差,很容易出現(xiàn)系統(tǒng)崩潰或者無法操作等問題,嚴(yán)重影響到軟件系統(tǒng)的應(yīng)用效果。因此,通過在操作程序中添加數(shù)據(jù)存儲(chǔ)過程和觸發(fā)器,可以有效提高軟件運(yùn)行效率,方便書城的管理。

1、存儲(chǔ)過程與觸發(fā)器的概述

1.1 存儲(chǔ)過程概念

數(shù)據(jù)庫(kù)存儲(chǔ)過程中指為了實(shí)現(xiàn)某一項(xiàng)特定任務(wù),并一組編譯的好SQL語句存儲(chǔ)在服務(wù)器中,可供用戶直接或者間接調(diào)用,也可以作為參數(shù)被傳遞或者修改,或者嵌套使用。存儲(chǔ)過程分為自帶存儲(chǔ)過程、擴(kuò)展存儲(chǔ)過程以及自定義存儲(chǔ)過程三種。其中自帶存儲(chǔ)過程是一種特殊的管理存儲(chǔ)過程,主要用于系統(tǒng)管理;擴(kuò)展存儲(chǔ)過程指在編程語言創(chuàng)建新外部存例程;自定義存儲(chǔ)過程指用戶根據(jù)自身實(shí)際需求,自定義封裝可重用代碼的模塊,讓模塊可以接收輸入?yún)?shù)修改、添加或者調(diào)用數(shù)據(jù)定義語言,并將數(shù)據(jù)操縱語言參數(shù)返回。和傳統(tǒng)的數(shù)據(jù)查詢方式相比,存儲(chǔ)過程中具有以下優(yōu)點(diǎn):第一,安全性更高。存儲(chǔ)過程只給訪問用戶存儲(chǔ)過程的權(quán)限,用戶沒有訪問表和視圖的權(quán)限。第二,提高了執(zhí)行的效率。存儲(chǔ)過程將第一次執(zhí)行進(jìn)行編譯時(shí),將編譯好的代碼保持在高速緩沖中,用戶可隨時(shí)調(diào)用,按照模塊化的設(shè)計(jì)模式,這樣大大提高了代碼執(zhí)行效率。如果服務(wù)器數(shù)據(jù)發(fā)生變化,只需要修改存儲(chǔ)過程中的相關(guān)語句,不需要修改程序,則大大減少了程序修改的過程。第三,存儲(chǔ)過程直接將編譯好的程序存儲(chǔ)在服務(wù)器上,使用者只需要向服務(wù)器發(fā)送請(qǐng)求執(zhí)行存儲(chǔ)過程的指令,服務(wù)器自動(dòng)執(zhí)行存儲(chǔ)過程中所有的程序,并將結(jié)果返回。這樣減少了用戶服務(wù)端向服務(wù)器發(fā)送執(zhí)行指令的數(shù)量,從而減少網(wǎng)絡(luò)數(shù)據(jù)的傳輸量,也就減少了網(wǎng)絡(luò)流量。

1.2 觸發(fā)器概念

觸發(fā)器是一種特殊類型的存儲(chǔ)過程,它與一般的存儲(chǔ)過程不同,它的主要目的是給程序員或者數(shù)據(jù)分析員提供相對(duì)完整數(shù)據(jù)的一種方法。它與報(bào)表聯(lián)系緊密,如果表需要執(zhí)行添加、刪除、修改等指令時(shí),觸發(fā)器程序自動(dòng)啟動(dòng)維護(hù)數(shù)據(jù)完整性,而不需要人工或者程序調(diào)用,而是根據(jù)事件觸發(fā)。如果需要對(duì)insert表進(jìn)行操作,則觸發(fā)器會(huì)自動(dòng)啟動(dòng)。觸發(fā)器主要用于數(shù)據(jù)完整性約束和業(yè)務(wù)規(guī)則制定方面的應(yīng)用。觸發(fā)器分為DML觸發(fā)器、DDL觸發(fā)器、登錄觸發(fā)器。其中DML觸發(fā)器指的數(shù)據(jù)庫(kù)數(shù)據(jù)表格出現(xiàn)變化,如果數(shù)據(jù)表格具有相應(yīng)的DML觸發(fā)器,則觸發(fā)器自動(dòng)執(zhí)行并約束數(shù)據(jù)表格強(qiáng)制執(zhí)行業(yè)務(wù)規(guī)則;DDL觸發(fā)器主要用來審核和規(guī)范數(shù)據(jù)庫(kù)中的表格刪除、修改、添加等指令,如果數(shù)據(jù)庫(kù)結(jié)構(gòu)發(fā)生變化,需要記錄數(shù)據(jù)庫(kù)修改過程,并限制程序員修改某些制定表中的數(shù)據(jù)信息;登錄觸發(fā)器則是為了響應(yīng)LOGIN事件激發(fā)存儲(chǔ)過程,用戶在登錄過程會(huì)自動(dòng)激發(fā),如果用戶登錄失敗,則不會(huì)激發(fā)登錄觸發(fā)器。觸發(fā)器與存儲(chǔ)過程相比,觸發(fā)器可以通過數(shù)據(jù)數(shù)據(jù)庫(kù)中相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)修改,觸發(fā)器還可以用強(qiáng)制比CHECK約束定義對(duì)數(shù)據(jù)庫(kù)中的規(guī)則進(jìn)行約束,如果觸發(fā)器使用另外一個(gè)表格插入數(shù)據(jù)庫(kù)中,并更新數(shù)據(jù)信息,這個(gè)時(shí)候如果插入數(shù)據(jù)信息不符合業(yè)務(wù)規(guī)則,則會(huì)顯示用戶自定義信息錯(cuò)誤。此外,數(shù)據(jù)庫(kù)還可以評(píng)估數(shù)據(jù)修改以后的狀態(tài),并根據(jù)數(shù)據(jù)庫(kù)變化采取相應(yīng)的對(duì)策。雖然觸發(fā)器擁有強(qiáng)大的功能,可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)信息的修改、添加,但是如果隨意使用觸發(fā)器,則可能增加數(shù)據(jù)庫(kù)以及應(yīng)用程序的維護(hù)管理難度,導(dǎo)致數(shù)據(jù)庫(kù)結(jié)構(gòu)越來越復(fù)雜。

綜上所述,可以發(fā)現(xiàn)存儲(chǔ)過程和觸發(fā)器兩者具有以下優(yōu)點(diǎn):第一,存儲(chǔ)過程和觸發(fā)器在應(yīng)用前,需要程序員進(jìn)行編譯,編譯好以后存儲(chǔ)在服務(wù)器中。這樣避免了服務(wù)器與用戶端不斷進(jìn)行數(shù)據(jù)交換,降低了數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)流量,提高了整各程序的運(yùn)行效率。第二,存儲(chǔ)過程和觸發(fā)器存儲(chǔ)在用戶經(jīng)常需要使用的服務(wù)器,可以簡(jiǎn)化客戶端程序,提高應(yīng)用程序開發(fā)效率。第三,存儲(chǔ)過程的程序直接編譯存儲(chǔ)在服務(wù)器上,使用者只需要向服務(wù)器發(fā)送請(qǐng)求執(zhí)行存儲(chǔ)過程的指令,服務(wù)器自動(dòng)執(zhí)行存儲(chǔ)過程中所有的程序,并將結(jié)果返回。這樣減少了用戶服務(wù)端向服務(wù)器發(fā)送執(zhí)行指令的數(shù)量,從而減少網(wǎng)絡(luò)數(shù)據(jù)的傳輸量,也就減少了網(wǎng)絡(luò)流量。第四,如果數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息發(fā)生了變化,只需要簡(jiǎn)單修改存儲(chǔ)過程的語句,而不需要修改應(yīng)用程序。第五,觸發(fā)器制定了相應(yīng)的業(yè)務(wù)規(guī)則和約束條件,可以防止程序員或者使用者隨意修改數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息,確保數(shù)據(jù)信息的完整性和安全性。將存儲(chǔ)過程和觸發(fā)器應(yīng)用在網(wǎng)絡(luò)數(shù)據(jù)庫(kù)中,可以充分發(fā)揮存儲(chǔ)過程和觸發(fā)器的優(yōu)勢(shì),更好地管理數(shù)據(jù)庫(kù)和應(yīng)用程序。比如將存儲(chǔ)過程和觸發(fā)器應(yīng)用在高壓電器實(shí)驗(yàn)室新站檢測(cè)數(shù)據(jù)傳輸系統(tǒng),該系統(tǒng)主要有服務(wù)器、客戶機(jī)以及數(shù)據(jù)庫(kù)構(gòu)成,實(shí)驗(yàn)室將新站測(cè)檢測(cè)的數(shù)據(jù)信息發(fā)送給數(shù)據(jù)庫(kù)服務(wù)器,服務(wù)器接受實(shí)驗(yàn)室發(fā)送的數(shù)據(jù)信息并對(duì)其進(jìn)行分析,服務(wù)器可以接收多個(gè)新站用戶的檢測(cè)數(shù)據(jù)信息,并對(duì)所有的數(shù)據(jù)信息進(jìn)行管理。這種結(jié)構(gòu)模式,可以將服務(wù)器和用戶端分開進(jìn)行處理,但是又可以實(shí)現(xiàn)共同管理的需求。其次,這種系統(tǒng)具有很好的擴(kuò)展性,可以根據(jù)實(shí)驗(yàn)室的業(yè)務(wù)和用戶增長(zhǎng)量,適當(dāng)擴(kuò)大服務(wù)器的容量。

2、基于網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的存儲(chǔ)過程和觸發(fā)器應(yīng)用

2.1 項(xiàng)目概述

某書城用SQL Server軟件開發(fā)了書城購(gòu)物管理系統(tǒng),通過購(gòu)物管理系統(tǒng),大大提高書城的管理效率,方便了讀者通過管理系統(tǒng)在網(wǎng)上自動(dòng)下單購(gòu)買書籍,從而降低降低了整個(gè)書城工作人員的工作量。然而在實(shí)際運(yùn)行過程中,發(fā)現(xiàn)該購(gòu)物系統(tǒng)還存在一定的缺陷。書城在引進(jìn)新的書籍以后,需要將數(shù)據(jù)信息插入到購(gòu)物管理系統(tǒng)的圖書信息列表中。具體操作方法如下:管理人員通過INSERT INEO……VALUES這樣的語句來實(shí)現(xiàn)書籍信息的錄入,這種操作方式非常復(fù)雜,一定程度上降低了工作人員的錄入速度。如果在錄入新書籍信息過程中,通過編寫存儲(chǔ)過程,則錄入新書書籍信息的時(shí)候,只需要給出相應(yīng)的參數(shù)就可以自動(dòng)調(diào)閱存儲(chǔ)過程。如果輸入的書籍信息是原來的圖書信息列表中沒有的,在錄入過程中,圖書管理人員需要在圖書館管理系統(tǒng)中搜索這個(gè)編號(hào)的圖書,如果管理人員需要搜索的書籍信息比較多,則一定程度上增加了圖書管理人員的工作量。在操作的時(shí)候,很容易輸入錯(cuò)誤的數(shù)據(jù)信息。如果在錄入信息過程中插入一個(gè)觸發(fā)器,直接插入到圖書館圖書信息管理列表中,列表信息則可以自動(dòng)搜索系統(tǒng)中是否存在相關(guān)編碼,這樣極大的提高了書城信息管理系統(tǒng)效率。

2.2 基于網(wǎng)絡(luò)存儲(chǔ)過程和觸發(fā)器的設(shè)計(jì)方案

2.2.1 設(shè)計(jì)存儲(chǔ)過程和觸發(fā)器

每個(gè)星期、每個(gè)月或者每一個(gè)季度,圖書市場(chǎng)上會(huì)增加很多新出版的圖書。為了方便網(wǎng)上書城的管理,圖書管理人員需要將新的圖書信息插入到原來的圖書管理系統(tǒng)中,將存儲(chǔ)過程應(yīng)用在圖書館列表信息插入環(huán)節(jié),圖書館工作人員將新添加的數(shù)據(jù)列表信息插入到管理系統(tǒng)的服務(wù)器,服務(wù)器自動(dòng)對(duì)數(shù)據(jù)信息進(jìn)行處理。這種方式可以避免頻繁操作系統(tǒng),提高圖書管理人員的工作效率。其具體存儲(chǔ)過程如下圖:

由于網(wǎng)上書城的圖書信息比較多,為了避免插入圖書編碼出現(xiàn)相同的情況,可以在管理系統(tǒng)中添加觸發(fā)器,圖書館工作人員將圖書編碼插入到網(wǎng)絡(luò)書城圖書信息管理列表中,會(huì)自動(dòng)觸發(fā)器程序,觸發(fā)器自動(dòng)檢查圖書信息表中是否存在同樣的圖書編號(hào),如果存在這個(gè)圖書編號(hào),則可以直接插入到圖書列表中,如果不存在則觸發(fā)器拒絕插入,這樣可以防止圖書信息表中插入相同的圖書信息編碼,影響到會(huì)員購(gòu)書效率。

2.2.2 書城購(gòu)書系統(tǒng)設(shè)計(jì)

以某書城的購(gòu)書系統(tǒng)為例,將存儲(chǔ)過程和觸發(fā)器應(yīng)用在購(gòu)書系統(tǒng),可以避免了圖書管理人員在信息錄入過程中存在重復(fù)錄入等現(xiàn)象。該書城購(gòu)書系統(tǒng)主要內(nèi)容有圖書信息、圖書類別信息、會(huì)員信息、購(gòu)書信息、活動(dòng)信息等內(nèi)容,其中圖書信息主要包括圖書名稱、圖書作者、出版時(shí)間、出版社信息、圖書價(jià)格、庫(kù)存量等信息;會(huì)員信息則包括會(huì)員名稱、會(huì)員密碼、會(huì)員電話、聯(lián)系地址等基本信息;會(huì)員購(gòu)書信息包括會(huì)員號(hào)、圖書編號(hào)、購(gòu)買書名以及購(gòu)買數(shù)量等;活動(dòng)信息則主要包括活動(dòng)圖書、活動(dòng)促銷優(yōu)惠價(jià)格等內(nèi)容。由于用戶購(gòu)書信息系統(tǒng)涉及的圖書信息比較多,新進(jìn)書籍錄入的時(shí)候,不需要使用INSERT INEO……VALUES SQL語言進(jìn)行輸入,而需要?jiǎng)?chuàng)建一個(gè)存儲(chǔ)過程,按照?qǐng)D書錄入信息情況,設(shè)置相關(guān)參數(shù),工作人員在輸入圖書信息的時(shí)候,只需要輸入闡述,就可以直接插入新書的數(shù)據(jù)信息,這樣避免人工輸入的繁瑣。讀者登錄到書城的網(wǎng)上購(gòu)物系統(tǒng)以后,需要注冊(cè)購(gòu)物網(wǎng)站的會(huì)員以后,才能在網(wǎng)站上購(gòu)買書籍。用戶登錄到網(wǎng)上書城以后,輸入用戶名以后,系統(tǒng)需要驗(yàn)證會(huì)員信息是否存在,并給出相關(guān)的提示讓用戶進(jìn)行下一步操作。在這個(gè)環(huán)節(jié)需要?jiǎng)?chuàng)建存儲(chǔ)過程.并設(shè)置相關(guān)的參數(shù),考慮到購(gòu)書系統(tǒng)的實(shí)際情況,需要設(shè)置兩種參數(shù),一種針對(duì)會(huì)員,另外一種針對(duì)游客,也就是非會(huì)員,用戶登錄購(gòu)書系統(tǒng),可以快速驗(yàn)證會(huì)員輸入的信息是否真實(shí)有效。管理人員將新引進(jìn)的圖書錄入到圖書信息列表中,操作人員沒有保存相關(guān)信息,導(dǎo)致圖書信息列表中無法搜索到這本圖書,用戶購(gòu)買的時(shí)候,無法搜索到相關(guān)圖書,從而影響到書城的銷售。所以,在這個(gè)環(huán)節(jié)需要添加觸發(fā)器,在管理系統(tǒng)中添加觸發(fā)器,圖書館購(gòu)書系統(tǒng)中插入圖書信息后,刷新以后再次搜索圖書列表信息,如果圖書列表信息中有這本圖書信息,則表示插入成功,如果沒有則表示插入失敗,需要重新插入。

網(wǎng)上圖書商城每天在運(yùn)營(yíng)過程中會(huì)產(chǎn)生大量的數(shù)據(jù)信息,在管理過程中,一些會(huì)員可能提出申請(qǐng)退出或者會(huì)員號(hào)碼已經(jīng)過期等現(xiàn)象,這個(gè)時(shí)候需要將數(shù)據(jù)庫(kù)刪除這個(gè)會(huì)員的個(gè)人基本信息和購(gòu)買圖書信息,從而保證數(shù)據(jù)庫(kù)的完整。如果一項(xiàng)一項(xiàng)刪除會(huì)員數(shù)據(jù)信息,則一定程度上增加了管理人員的工作量。在這個(gè)過程中,在會(huì)員管理信息列表中安裝刪除觸發(fā)器,管理人員只需要?jiǎng)h除會(huì)員信息表中這個(gè)會(huì)員的數(shù)據(jù)信息,觸發(fā)器會(huì)自動(dòng)刪除該會(huì)員相關(guān)數(shù)據(jù)信息,確保整個(gè)圖書購(gòu)書系統(tǒng)會(huì)員信息的完整性,有利于書城加強(qiáng)會(huì)員管理。通過這樣的方式,很容易解決會(huì)員到期以及退出等問題,從而確保整個(gè)網(wǎng)上商城會(huì)員信息數(shù)據(jù)的完整性。

結(jié)束語

將存儲(chǔ)過程和觸發(fā)器應(yīng)用在網(wǎng)上商城,將數(shù)據(jù)庫(kù)信息進(jìn)行批量處理,提高整個(gè)客戶端應(yīng)用程序訪問數(shù)據(jù)庫(kù)的效率和降低程度操作復(fù)雜性,應(yīng)用在書城的網(wǎng)上商城效果比較明顯,可以推廣到其他網(wǎng)絡(luò)數(shù)據(jù)庫(kù)建設(shè)。

參考文獻(xiàn):

[l]沈黎.基于網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的存儲(chǔ)過程和觸發(fā)器應(yīng)用研究[J].西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,(3):51-55.

[2]計(jì)系統(tǒng)在醫(yī)院HIS數(shù)據(jù)庫(kù)中的應(yīng)用[J].新教育時(shí)代電子雜志(教師版),2014,(16):293.

[3]龐中強(qiáng),一種基于數(shù)據(jù)庫(kù)中間件和HTML5的智能家居控制軟件系統(tǒng)[D].鄭州大學(xué),2015.

猜你喜歡
觸發(fā)器
基于觸發(fā)器消抖電路應(yīng)用與教學(xué)研究
配置觸發(fā)器有條件啟動(dòng)Windows服務(wù)
基于Multisim14.0的雙D觸發(fā)器應(yīng)用與仿真
高中通用技術(shù)元器件教學(xué)優(yōu)化策略探析
家庭影院智能化第一步
觸發(fā)器在酒店管理系統(tǒng)中的應(yīng)用
SQL Server數(shù)據(jù)庫(kù)中觸發(fā)器的應(yīng)用研究
觸發(fā)器邏輯功能轉(zhuǎn)換的運(yùn)用
預(yù)學(xué)單——引導(dǎo)數(shù)學(xué)先學(xué)的“觸發(fā)器”
提高SQL Server數(shù)據(jù)庫(kù)安全性的幾點(diǎn)思考
黄梅县| 浮山县| 平陆县| 伽师县| 大方县| 涡阳县| 洛川县| 尉氏县| 霍城县| 土默特左旗| 奎屯市| 抚松县| 隆安县| 临高县| 甘德县| 科技| 怀来县| 海伦市| 黑龙江省| 永康市| 靖州| 华亭县| 剑河县| 上林县| 开鲁县| 喜德县| 许昌县| 福海县| 仁化县| 太保市| 周宁县| 垫江县| 大同县| 宜丰县| 荥阳市| 凤冈县| 句容市| 宜兴市| 吉林省| 沅江市| 青冈县|