[軟考]銀行網站建設中資料庫存儲過程的調用

一、引言

隨著人民銀行中心支行計算機網路建設的逐步發展和內聯網二期工程的落實到位,多數中心支行已建立了內部網路(intranet),提供檔案傳輸、電子郵件、及簡單web等相關網路服務。

對於人民銀行中心支行而言,網站的建設需要報表、台帳等各種數字信息,報告、分析等各種文字信息,公文處理、會議通知等各種辦公自動化信息,聲音、圖象、視頻會議等各種多媒體信息。而如何充分利用現有信息資源和計算 機網路技術,建設人民銀行內部的信息網站,為金融監管和政策給予及時、準確、多樣的信息服務,很大程度上離不開資料庫的支持。同時,人民銀行網站的建設是一項系統工程和標誌性工程,它代表一個行的形象,體現科技興行的精神。建設和維護網站涉及的部門眾多,需要協調的關係很多,技術複雜程度高,這就迫切需要利用資料庫技術建設一個動態的、互動的、高效的網站來滿足信息化時代的要求。

資料庫存儲過程(stored-procedure)是諸如sybase、oracle、informix、microsoft sqlserver等大型資料庫一種成熟的技術,是由一些或多個sql語句和控制語句組成的被封裝起來的過程,它駐留在資料庫中,可以被客戶應用程式調用,也可以從另一個過程或觸發器調用。通過使用變數和條件,它的參數可以被傳遞和返回。在b/s(瀏覽器/伺服器)模式中,網站的客戶端在執行複雜的任務,處理大而複雜的sql語句時,存儲過程提供了諸多方便之處和優點,能夠滿足網站建設的需要。

二、採用存儲過程的優點

1、運行速度加快

在網站資料庫伺服器中,一般互動式的sql命令,每次執行前資料庫伺服器都要為其建立預編譯的過程,而存儲過程在第一次執行之後,經過了最佳化和編譯好的過程,儲存在高速快取之中,在接下來的運行中可以直接從高速快取中執行,省去了以後執行的最佳化和編譯階段,節省了執行過程的大量時 間,使用存儲過程從而加快了執行速度。

2、網路負荷減少

當客戶端發出執行存儲過程的請求時,只有執行存儲過程的命令在內部網路上傳送,當它們到達資料庫伺服器時,運行存儲過程,客戶端在網上只接收返回結果或狀態信息,所以使得客戶機與伺服器的通訊量降至最小,大大減少了網路負荷。縮短了用戶要求的相應時 間,避免了用戶枯燥的等待。

3、團隊開發方便

網站程式編制過程中,php、asp等調用存儲過程能夠減少在程式開發中構造複雜sql語句的難度,由於存儲過程的可重用、可共享性,使得存儲過程可被多處重複使用,也可以被多個用戶共享,在開發中反覆使用,給網站的團隊開發帶來了極大的方便,而且使站點更易於維護和更新。

4、安全機制放心

存儲過程本身有很強的安全機制,只有具有相應的系統許可權才能夠調用相應的存儲過程,或者只訪問存儲過程而不能夠訪問其中涉及的表或視圖,只通過存儲過程中所給出的功能來間接運算元據庫。在存儲過程的代碼中可以包含對信息和數據的合法性檢查、對業務規則要求的各種完整性檢查等,這無疑給那些安全性較差的網站平台帶來了福音。

5、服務用戶滿意

存儲過程可以充分利用數據視點集中的原則,使用戶把注意力集中在所關心的數據上、簡化用戶的數據查詢操作、使不同的用戶能夠多角度“看待”同一數據,能夠用存儲過程建立非常複雜的查詢,以非常複雜的方式更新(update、delete、select、insert)資料庫。同時存儲過程能夠自動對複雜或敏感的事務處理,對某些表進行各種處理,可以保證這些表的數據完整性。這樣做,滿意了用戶。