存儲過程在網上商城係統開發中的應用
應用實踐
作者:吳伶琳
摘要:存儲過程是數據庫端執行的一組T-SQL語句的集合。網上商城係統具有大量的用戶交互的特點,係統性能十分重要。文章介紹了網上商城係統的主要功能及數據庫設計,具體闡述了存儲過程在該係統開發中的應用。實踐結果表明,使用存儲過程能夠提高係統運行的效率,增強係統的安全性。
關鍵詞:存儲過程;網上商城;安全性; SQL Server
中圖分類號:TP311 文獻標誌碼:A 文章編號:1006-8228(2013)09-31-03
0 引言
目前國內B2C行業正處於高速成長期,市場的進一步擴張為傳統企業電子商務化提供了一個發展的平台,建立自己的B2C網上商城正成為未來中小企業進行網上開拓市場的渠道選擇[1]。網上商城係統與一般網站的主要區別之一是係統要求更多的交互,更安全地進行數據存儲和交換,因此網站的運行效率及安全性是網站設計的關鍵。存儲過程是數據庫管理係統中一類常用的數據庫對象,具有可模塊化編程、執行效率高、可減輕網絡負載及訪問安全可靠等特點。在網上商城係統中使用該對象,可以提高網站的訪問速度和安全性,為用戶提供更好的購物體驗。
1 網上商城係統
1.1 網上商城係統的基本功能
網上商城係統要為用戶建立一個動態的、便捷的、交互性的網絡購物環境,實際上是一個B/S結構的信息係統[2]。它主要有兩類用戶,即普通用戶和管理員。整個係統可以分為前台和後台兩個部分,前台主要是麵向普通用戶的,主要由商品瀏覽、商品查詢、購物車、會員管理等模塊組成,後台是麵向管理員的,主要包括登錄管理、商品管理、會員管理、訂單管理、公告管理等模塊構成。
1.2 網上商城係統的邏輯體係設計
網上商城係統采用Microsoft Visual Studio 2010開發,後台數據庫采用SQL Server 2008。該係統使用三層體係結構,整個係統分為表示層、業務邏輯層、數據訪問層。該係統的數據訪問層實現時調用了事先在數據庫後台編製的各類存儲過程,從而提高了係統的運行效率,保證了係統的安全性。
1.3 網上商城係統的數據庫設計
根據係統的功能需求,設計出了以下數據庫關係模式:
⑴商品信息(商品編號,類別編號,商品名稱,商品介紹,進貨價格,商品圖片,進貨日期,備注);
⑵商品類別(類別編號,類別名稱);
⑶訂單信息(訂單編號,用戶名,付款方式,運送方式,訂貨日期,是否執行,備注);
⑷訂單明細(訂單明細編號,訂單編號,商品編號,價格,數量);
⑸會員信息(會員編號,用戶名,密碼,真實姓名,地址,郵政編碼,電話,電子郵件);
⑹管理員(用戶編號,用戶名,密碼)。
2 存儲過程及其優點
存儲過程是一種重要的數據庫對象,是為了實現某種特定的功能,將一組預編譯的SQL語句以存儲單元的形式存儲在服務器上,供用戶調用[3]。存儲過程可以帶輸入參數、輸出參數,具有返回值。SQL Server支持五種類型的存儲過程,分別是:係統存儲過程、本地存儲過程、臨時存儲過程、遠程存儲過程和擴展存儲過程。
存儲過程具有以下優點。
⑴執行效率高存儲過程在創建時就經過了語法檢查和性能優化,因此在執行時不必再重複這些步驟。存儲過程第一次調用後,就駐留在內存中,不必再經過編譯和優化,所以執行速度很快。
⑵提高軟件係統的可維護性存儲過程將相關業務邏輯封裝在一起,隻要創建一次,便可多次調用。用戶可以獨立於應用程序而對存儲過程進行修改[4]。
⑶降低網絡流量存儲過程位於服務器上,調用的時候隻需要傳遞存儲過程的名稱和參數,因此降低了網絡傳輸的數據量[5]。
⑷保證係統的安全存儲過程可以避免用戶在應用程序中直接嵌入SQL語句,防止SQL注入攻擊;可以在數據庫內分別設置各個存儲過程的安全保護[6],即為存儲過程設置一定的調用權限,從而避免用戶越權訪問,保證信息係統的安全。
3 存儲過程在網上商城係統中的應用
3.1 網上商城係統中的部分存儲過程