- 相關推薦
SQLSERVER視圖和存儲過程在進銷存系統開發(fā)中的應用
SQL Server 是Microsoft 公司推出的關系型數據庫管理系統。具有使用方便可伸縮性好與相關軟件集成程度高等優(yōu)點,可跨越從運行Microsoft Windows 98 的膝上型電腦到運行Microsoft Windows 2012 的大型多處理器的服務器等多種平臺使用。下面小編為大家介紹利用spl server開發(fā)的過程。
摘要:視圖和儲過程是SQLSERVER重要的數據庫對象。在進銷存管理信息系統開發(fā)中應用視圖和存儲過程技術能收到提高所開發(fā)系統的安全性、提高執(zhí)行效率、方便代碼管理等效果。筆者就如何在.NET環(huán)境中開發(fā)通用進銷存管理系統,以業(yè)績提成模塊為例結合應用視圖和存儲過程技術提出自己的設想。
關鍵詞:存儲過程;視圖;進銷存系統;開發(fā);應用
進銷存系統是對企業(yè)的進貨、銷售、庫存進行統一管理的應用系統。隨著計算機技術不斷普及、隨著市場競爭越趨激烈,現在中小企業(yè)普遍使用進銷存系統進行管理。市場上各種進銷存系統參差不齊。企業(yè)要想在這種大環(huán)境中取得競爭的勝利,必須依托信息系統。另外,企業(yè)的這些數據量非常大,能對這些數據進行統一管理、統計分析,為提高運作效率、提供決策,提供及大方便。開發(fā)一個實用、高效的管理信息系統,為企業(yè)帶來很大幫助。存儲過程在系統設計中應用,能為提高系統的安全性,提高執(zhí)行效率,方便代碼管理帶來很好的效果。高效的進銷存系統是支撐中小企業(yè)實現“零庫存”、極大限度降低企業(yè)運作成本、追求利益最大化的法寶。中小企業(yè)在開發(fā)進銷存系統軟件時,由于開發(fā)方便、部署簡單、性能優(yōu)良,通常使用SQLSERVER作為后臺數據庫管理。開發(fā)過程中需要使用SQL語句向后臺數據庫發(fā)送命令,對數據庫返回結果進行處理。進銷存數據庫中的表結構各異,記錄規(guī)模較大.如何編寫高效的程序以實現與數據庫進行交互、對數據庫進行維護等復雜操作是進銷存管理軟件開發(fā)中的一個難點,F就在基于.NET的開發(fā)環(huán)境中,以通用進銷存系統業(yè)績提成統計模塊開發(fā)中結合應用視圖和存儲過程作一些探討。
1 視圖和存儲過程概述
視圖相當于創(chuàng)建的一張?zhí)摂M表或存儲查詢,視圖訪問的數據不作為獨特的對象存儲在數據庫內。SELECT語句結果集構成視力的內容,在程序開發(fā)中可以使用視圖實現下列功能:限定用戶查詢表中的特定行或特定列上;將多個表中的列鏈接起來,使它們看起來像一個表;聚合信息。使用視圖的優(yōu)點:保護敏感數據;封裝復雜查詢;滿足不同用戶對數據的需求;提供一定程度上的獨立性。在數據庫管理系統中使用CREATEVIEW指令來創(chuàng)建視圖。
存儲過程是在數據庫系統中,一組為了完成特定功能的SQL語句集,經編譯后存儲在數據庫中,用戶通過指定存儲過程的名字并給出參數(如果該存儲過程帶有參數)來執(zhí)行它。
使用存儲過程明顯具有以下優(yōu)點:允許組件式編程。存儲過程在被創(chuàng)建以后可以在程序中被多次調用而不必重新編寫該存儲過程的SQL語句,而且數據庫管理人員可隨時對存儲過程進行修改。只要過程接口不發(fā)生變化,對應用程序源代碼并無影響,從而極大地提高了程序的可移植性;更快的執(zhí)行速度。存儲過程是預編譯的,在首次運行一個存儲過程時查詢優(yōu)化器對其進行分析、優(yōu)化,并給出最終被存在系統表中的執(zhí)行計劃。而采用第一種方法則需要在每次運行時都要對發(fā)送到數據庫的所有SQL語句進行編譯和優(yōu)化;降低網絡負載。應用程序調用存儲過程時,網絡中傳送的僅是該條調用語句。而采用第一種方法將傳送多條SQL語句,從而大大增加了網絡流量,在對數據庫網絡訪問量達到一定程度時,可能造成網絡堵塞;增強數據庫的安全性。系統管理員通過對執(zhí)行某一存儲過程的權限進行限制,能夠實現對相應的數據訪問權限的限制,避免非授權用戶對數據的訪問,保證數據的安全。在數據庫管理系統中使用create procedure指令來創(chuàng)建存儲過程。
2 以業(yè)績統計為例探討視圖和存儲過程在進銷存系統開發(fā)中的具體應用
現在中小企業(yè)的管理中,為了提高員工的積極性,常用的激勵辦法是業(yè)績提成。組合查詢業(yè)績統計是進銷存系統最復雜的邏輯,F以組合條件查詢業(yè)績?yōu)槔,結合視圖和存儲過程來來實現。例如中小企業(yè)為每個客戶公司設定一個銷售主管和銷售助理,并對銷售主管和助理設定一個提成比例,每一個員工,既可以是這個客戶的主管,也可以是其他客戶的助理,根據不同類型的客戶,其提成比例都不一致。每完成一筆對該客戶的銷售,可以分別會對銷售主管和助理按提成比例統計業(yè)績。現將實現這功能所需要的數據表、創(chuàng)建視圖、存儲過程及運行效果表述如下:
2.1 數據表及關系
客戶資料(數據庫表名:tb_client)用途:存放客戶相關的數據;
銷售表(數據表名:tb_bill)用途:存放銷售單的數據;
銷售明細表(數據表名:tb_bill_product)用途:存放銷售單中相關的貨品明細數據;
貨品信息(數據庫表名:GoodsData)用途:存放貨品信息數據;
用戶表(數據庫表名:Username)用途:存放系統用戶的數據;
2.2 創(chuàng)建視圖
用CREATEVIEW指令創(chuàng)建視圖view_tj_yeji。該視圖通過鏈接多個表顯示每個客戶每個銷售單的每個商品的情況。主要包括客戶的信息、客戶的銷售單情況、銷售單包括的商品情況、商品明細信息。
SQLSERVER數據庫端創(chuàng)建視圖代碼:
2.3 創(chuàng)建存儲過程
在視圖的基礎上創(chuàng)建存儲過程,用CREATEPROC EDURE指令創(chuàng)建名為P_view_hjyjgw的存儲過程,進行業(yè)績提成統計。該存儲過程是帶參數的,其參數是輸入的組合條件,實現生成以員工為基準的統計表,按照輸入的復雜條件進行統計。
與數據庫連接,一些相關函數的定義代碼省略。在實際應用中,我們還可以通過帶參數的存儲過程構建動態(tài)SQL語句,實現更復雜的功能,提高程序的通用性和可擴展性。
3 結語
在進銷存系統開發(fā)過程中,將與數據庫相關的操作通過視圖和存儲過程等方式寫到數據庫組件中,將數據呈現通過數據控件調用視圖或存儲過程實現,這樣做將大大提高系統的開發(fā)效率,對于程序維護也相當方便,與數據庫相關的修改直接在后臺數據改視圖和存儲過程即可,無須改程序代碼,無須重新編譯。在進銷存系統軟件開發(fā)過程中綜合運用存儲過程和視圖,會給軟件設計帶來極大的方便,還可以提高軟件的安全性、提高軟件的運行效率。當然,SQLSERVER數據庫對象除了存儲過程和視圖以外,還有觸發(fā)器和索引等等,在以后應用程序開發(fā)過程中,綜合運用上述組件,往往會帶來事半功倍的效果。
參考文獻:
[1]鄧超群,蔣永進.銷存一體化管理信息系統分析與設計[J].現代商業(yè):177-178.
[2]蘇琦,解析存儲過程孝檔案管贛件開發(fā)中的應用[J].電腦編程技巧與維護:53-54.
[3]周峰.SQLSERVER2005基礎與實踐教程[M].北京:電子工業(yè)出版社,2006,7.
[4]鄭阿奇.ASP.NET實用教程[M].北京:電子工業(yè)出版社.
【SQLSERVER視圖和存儲過程在進銷存系統開發(fā)中的應用】相關文章:
淺析Comet技術在Java Web實時系統開發(fā)中的應用10-07
油田化學的應用和化學品中的應用10-08
sqlserver語句大全10-05
淺談溝通技巧在醫(yī)院藥學服務過程中的應用的論文10-07
計算機數據存儲應用案例論文10-08
計算機應用基礎教學中過程性評價的研究論文10-08
淺析美術教學中“美術元素”的理解和應用10-05