999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用SQL Server存儲過程提高在線考試系統的性能

2011-08-20 05:18:28丁革媛袁中臣魏寶武
網絡安全與數據管理 2011年22期
關鍵詞:數據庫系統

丁革媛,宋 揚,袁中臣,魏寶武

(沈陽工業大學 工程學院,遼寧 遼陽111003)

隨著計算機網絡技術和數據庫技術的飛速發展,高校的數字化校園建設進程日益深入,其中數字化教學與學習環境建設成為其核心內容。為推動數字化校園建設進程,創建數字化教學環境,利用Delphi7和SQL Server2000開發出適用于多學科的高校通用計算機在線考試軟件系統。Delphi在基于C/S模式的數據庫應用開發領域具有很強的數據庫支持能力,因為它提供了豐富的數據庫操作組件,常用的有 TQuery、TTable、TADOQuery和TADOTable等[1]。通過這些組件,程序員可以在短時間內完成一個應用程序模塊的設計,大大減少了開發人員的工作量。但是,這些組件在操作數據庫時卻存在局限性,即必須將數據庫中的記錄從服務器端取出放入到客戶端,再根據查詢條件進行選擇。這種實現方法,如果待訪問的數據量較大,勢必因為查詢時間較長而降低程序執行的速度,從而降低應用程序的性能。解決這一問題利用了SQL Server2000的存儲過程來實現[2]。

1 存儲過程及其優點

1.1 存儲過程的定義

存儲過程是存儲在服務器上的一組預先定義并編譯好的用來實現某種特定功能的SQL語句。它可以接受參數、返回狀態值或參數值。存儲過程在服務器端執行,通過應用程序調用的方法實現,執行結束后再把結果返回到客戶端。

1.2 存儲過程的優點

(1)存儲過程執行速度快,便于提高系統的性能。由于存儲過程在第一次執行之后,其執行規劃就儲存在高速緩沖存儲區中,在以后的操作中。只需從高速緩沖存儲區中調用編譯好的二進制形式存儲過程來執行[3]。

(2)減少網絡流量,提高系統執行效率。客戶端應用程序調用一個存儲過程,只需通過網絡發送該過程名和少量入口參數,數據庫服務器就可執行該過程,執行完成后,只返回結果狀態或將最終結果集給客戶端應用程序,無需通過網絡傳送大量的SQL操作命令和中間結果,最大限度地減少網絡通信負擔,提高了執行效率。

(3)維護了數據庫的安全性。如果用戶被授予執行存儲過程的權限,即使該用戶沒有在執行該存儲過程中可參考的表或視圖的訪問權限,該用戶也可以完全執行該存儲過程而不受影響。因此,可以通過創建存儲過程來完成數據的插入、更新和刪除等操作,并且可以通過編程方式控制在操作中對信息的訪問權限[4]。

(4)提高軟件系統的可維護性。存儲過程在創建時就在服務器上經過調試和編譯,可以避免不必要的錯誤出現。另外,存儲過程將相關業務邏輯封裝在一起,可以大大提高整個軟件系統的可維護性。因為當相關業務邏輯發生變化時,不需要修改并編譯客戶端應用程序,只需要修改位于服務器端的實現相應業務邏輯的存儲過程即可。

(5)充分增強SQL語言的功能和靈活性。存儲過程可以用流控制語句編寫,有很強的靈活性,可以完成復雜的判斷和運算。

基于以上優點,在進行C/S模式數據庫應用系統開發時,通常把比較浪費時間、影響網絡傳送的相關業務邏輯編寫成存儲過程由服務器執行,同時利用服務器的SQL語法進行優化處理,只將少量的結果顯示在客戶端,充分提高軟件系統的性能[5]。

2 存儲過程的創建方法

以SQL Server 2000數據庫管理系統為背景,創建方法如下:

下面對語法中各選項進行說明:

(1)選項“procedure_name”指存儲過程名,不能超過128個字符,“[;number]”指程序編號,用于區別同名的存儲過程。

(2)選項“@parameter”表示參數,每個存儲過程中最多可以設定1 024個參數,要求在每個參數名前加上符號“@”。

(3)選項“[=default]”指為對應參數設定默認值。

(4)選項“OUTPUT”用來指定參數既有輸入又有輸出。即在調用這個存儲過程時,如果所指定的參數是要輸入的參數,同時也需要在結果中輸出,則該項必須為“OUTPUT”。

(5)選項“WITH”用來指定存儲過程的處理方式。

(6)選項“FOR REPLICATION”表示只能由復制方式執行[6]。

3 存儲過程在考試軟件系統中的應用

(1)考試系統在運行時要經過三個步驟,考生抽取套題編號、抽取套題內容和將套題內容插入答題表進行答題。如果不采用存儲過程,則需用下面方法實現。

①隨機抽取套題編號

通過執行存儲過程,將題庫中與考生抽取套題編號相匹配的記錄提取出來,并批量插入到考試表中,同時對考生分數進行了初始化為0的動作。而本考試系統就是將考生的學號和考生抽取的套題編號作為參數傳遞給存儲過程,因此,大幅度提高了考試軟件的效率。

(2)在考試系統進行不同類型題目抽取時,如果在Delphi中直接應用SQL語句,應使用下面代碼:

此時,程序是在運行時才編譯的。這樣就增加了運行的時間,同時還要把完整的SQL語句傳遞給Sql Server服務器執行,這樣考試過程中勢必增加網絡流量,降低軟件的運行效率。

如果采用存儲過程,可用下面方法實現:

Select Select*from tblKS Where學生學號=@strNO and試題類型=′單項選擇題′order by 試題序號

GO

在客戶端調用方法如下:

此時,存儲過程是預先編譯的,自然節省了編譯的時間,同時只向服務器傳遞了一個參數DM.strNO,大大減少了網絡流量,提高了考試系統的性能。

(3)在考試系統中添加考生信息時,首先要判斷是否存在該考生學號信息,然后再進行添加操作。如果采用普通SQL語句,代碼如下:

通過if流控制語句實現了相同學號不能插入的功能,增強了SQL語言的功能和靈活性,避免了普通SQL語句的繁瑣與低效,提高了考試系統的性能。

在開發數據庫應用系統時,合理使用存儲過程來完成相關的業務邏輯操作,能夠顯著提高系統的性能、運行效率和可維護性。當然,并非所有的業務邏輯都要使用存儲過程來實現。如果都使用存儲過程的方法實現,一定會增加服務器的負擔;同時,客戶端的資源也不能得到充分的利用[8]。因此,要根據具體情況,將那些使用頻繁、比較復雜的業務邏輯用存儲過程的方法實現,合理規劃服務器端和客戶端程序,使相關事務能夠均衡處理,以此提高軟件系統的性能和效率。

[1]吳小林,蔣先剛,高艷錦.基于 Delphi的多層數據庫應用系統連接技術的研究[J].華東交通大學學報,2005,22(1):68-70.

[2]史創明.SQL Server 2000中文版數據庫管理與應用標準教程[M].北京:清華大學出版社,2006:264-278.

[3]張莉,陳雷,孫龍清,等.SQL Server數據庫原理及應用(第 2版)[M].北京:清華大學出版社,2009:265-275.

[4]李舒,陳麗君.高校學生成績管理系統的設計與實現[J].遼寧大學學報.自然科學版,2006,33(3):284-285.

[5]曾毅,王玉萍.SQL Server數據庫中存儲過程的實現[J].科技信息,2008(25):88-89.

[6]肖輝輝,段艷明.SQL Server 2000存儲過程在VB中的應用[J].福建電腦,2007(12):189-190.

[7]馬曉梅.SQL Server 2000實驗指導(第2版)[M].北京:清華大學出版社,2008:105-112.

[8]孫曉楓,范正翹,袁海文.存儲過程在SQL Server數據庫自我管理中的高級應用[J].計算機應用,2002,22(4):92-93.

猜你喜歡
數據庫系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 国产成人精品优优av| 日韩色图区| 性欧美在线| 美女毛片在线| 日本午夜精品一本在线观看 | 狠狠综合久久久久综| 中文字幕久久亚洲一区| 超碰色了色| 四虎影视无码永久免费观看| 华人在线亚洲欧美精品| 一区二区午夜| 欧美亚洲欧美| 亚洲AV无码久久精品色欲| 欧美成人区| 国产在线观看精品| 欧美色亚洲| 国产精品视频999| 国产精品妖精视频| 国产成人精品免费av| 在线五月婷婷| 99伊人精品| 国产成人久久777777| 欧美激情第一欧美在线| www精品久久| 欧美成在线视频| 亚洲中文字幕av无码区| yy6080理论大片一级久久| 国产精品亚洲天堂| 嫩草影院在线观看精品视频| 在线中文字幕网| 国产免费精彩视频| 国内精品视频在线| 国产日韩久久久久无码精品| 亚洲精品无码久久久久苍井空| 久久久久九九精品影院| 国产午夜小视频| 伊人激情久久综合中文字幕| 狂欢视频在线观看不卡| 欧美日韩国产成人高清视频| 国产玖玖玖精品视频| 白丝美女办公室高潮喷水视频| 久久这里只精品国产99热8| 99热这里只有精品久久免费| 成人韩免费网站| 波多野结衣第一页| 国产亚洲高清视频| 无码福利日韩神码福利片| 伊人久综合| 欧美性久久久久| 亚洲色欲色欲www网| 亚洲人成影院在线观看| 久久国产黑丝袜视频| 福利在线不卡| 国产精品成人第一区| 国产h视频在线观看视频| 青青操视频免费观看| 四虎国产精品永久在线网址| 中文字幕在线一区二区在线| 国产日韩久久久久无码精品| 亚洲精品午夜天堂网页| 久久久久青草大香线综合精品| 熟女成人国产精品视频| 日韩国产欧美精品在线| 亚洲一级毛片免费看| 114级毛片免费观看| 夜夜操天天摸| 国产成人午夜福利免费无码r| 国产精品第5页| 国产精品大尺度尺度视频| 亚洲天堂高清| 欧美一级黄片一区2区| 国产视频久久久久| 69免费在线视频| 久久亚洲黄色视频| 高清视频一区| 欧美亚洲国产精品久久蜜芽| 日韩AV手机在线观看蜜芽| 久热这里只有精品6| 国产最爽的乱婬视频国语对白| 中文字幕在线不卡视频| 最新亚洲人成无码网站欣赏网| 波多野结衣二区|