版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 開</b></p><p><b> 發(fā)</b></p><p><b> 報</b></p><p><b> 告</b></p><p> 設(shè)計題目:在線考試系統(tǒng)數(shù)據(jù)庫的設(shè)計與實現(xiàn)</p><p
2、> 年 級:*************</p><p> 學(xué) 號:********</p><p> 姓 名:*****</p><p><b> 目錄</b></p><p> 摘要 ---------------------------------------------
3、------------------------1</p><p> 第一章:需求分析--------------------------------------------------------------3</p><p> 第二章:概念結(jié)構(gòu)設(shè)計 ----------------------------------------------------3</p>
4、<p> 第三章:物理結(jié)構(gòu)設(shè)計和邏輯結(jié)構(gòu)設(shè)計 --------------------------------6</p><p> 第一條:物理結(jié)構(gòu)設(shè)計 ----------------------------------------------------6</p><p> 第二條:邏輯結(jié)構(gòu)設(shè)計 --------------------------------
5、--------------------7</p><p> 結(jié)束語 -----------------------------------------------------------------------14</p><p> 第一章:系統(tǒng)功能需求分析</p><p> 隨著標準化考試的日益普及,在各種考試中越來越多地采用了計算機考試的方式。相對
6、于傳統(tǒng)的卷面考試而言,由于傳統(tǒng)的卷面考試從出題印刷到下發(fā)試卷等環(huán)節(jié)需要較長的時間,接觸的人員相對較多,因而在保密方面具有一定的困難。而計算機考試系統(tǒng)采用試題庫方式提供試題來源,考前無任何成套試卷,考試時考卷由計算機現(xiàn)場隨機生成,各考生試卷不完全相同,從而避免了互相參看等作弊現(xiàn)象或不公平成績的出現(xiàn)。同時也可考后即可獲得成績,省去了人力評卷的麻煩和弊端。</p><p> 據(jù)此,我實現(xiàn)了在線考試系統(tǒng)的數(shù)據(jù)庫設(shè)計。系
7、統(tǒng)主要實現(xiàn)了一下幾個方面的功能:</p><p> 對考生而言,分為五個考試狀態(tài):待考、就緒、考試中、結(jié)束、缺考??忌脺士甲C號登錄考試網(wǎng)站,然后驗證考生信息是否一致,如果一致就會停留在考生須知界面,處于就緒狀態(tài)。所有考生等待服務(wù)器發(fā)送統(tǒng)一命令分發(fā)試卷并同時進入考試中狀態(tài)。在開考后20分鐘后考生仍未到場,考生狀態(tài)會自動設(shè)置為“缺考”,不能參加此次考試。考試過程中可自由答題(可隨時定位到每一題)。如果有考生信息不
8、一致的情況,可上報管理員,經(jīng)審核后進行修改??忌纪暝圏c擊“交卷”,經(jīng)確認后交卷??己蠹纯刹榭纯荚嚪謹?shù)。在到達考試時間后,服務(wù)器會自動給未交卷的考生結(jié)束考試,并可同時給所有考生評卷得出分數(shù)。</p><p> 對管理員而言,可以更改數(shù)據(jù)庫的所有內(nèi)容,可添加、查詢、修改、刪除考生的信息,設(shè)置考試的相關(guān)內(nèi)容。可有選擇地錄入試題,為題目分類并自動在正確答案表里插入相應(yīng)的標準答案。開考前服務(wù)器可自動為每考生隨機生成試卷
9、??忌栍晒芾韱T統(tǒng)一設(shè)置。服務(wù)器會根據(jù)考試時間來自動設(shè)置考生的考試狀態(tài)。到達考試時間后,服務(wù)器可同時讓所有在線考生進入答題階段。在考試過程中,自動為考生保存考試答案。也可以查看所有考生的在線考試情況。同時也可為出現(xiàn)異常的考生延時等詳細功能。考試全部結(jié)束后,服務(wù)器會備份所有考生信息和答題情況,并給所有考生評卷并生成所有考試成績表,以便考生查分。</p><p> 第二章 :概念結(jié)構(gòu)設(shè)計</p>&l
10、t;p> 針對以上的功能分析,對數(shù)據(jù)庫的設(shè)計做了以下分析??紤]到在線考試的特殊要求,數(shù)據(jù)庫的設(shè)計應(yīng)該包含以下信息:</p><p> 考生的基本信息用來在考生登陸時進行核對驗證,防止考生信息錄錯的情況。</p><p> 考生考試的基本信息用來控制考試時間和考生的考試狀態(tài),統(tǒng)計在線考生和缺考情況,同時也方便服務(wù)器統(tǒng)一發(fā)送命令,給所有考生同時開始考試和結(jié)束考試。從而體現(xiàn)公平一致的
11、原則。</p><p> 題庫應(yīng)包含所有的考試類型、題目內(nèi)容和每題的分值,以便以后的隨機抽題和為考生評分。并且數(shù)據(jù)庫里也存儲有每題對應(yīng)的正確答案,考生的考試答案,這樣可以方便評分。還對考生答案做了備份,方便以后的查閱和總結(jié)考試情況,以進一步更新考試,提高考試質(zhì)量。</p><p> 還應(yīng)把給每位考生隨機生成的試題保存起來,方便查閱核對,并可由服務(wù)器統(tǒng)一給對應(yīng)考生發(fā)送試卷。</p&
12、gt;<p> 最后把評卷的結(jié)果和考生成績統(tǒng)計出來做備份,考生可在考試結(jié)束后直接查看考試結(jié)果。如果發(fā)現(xiàn)有疑問地方也可隨時查看和核對。</p><p> 由此分析一共設(shè)計了七張表用來存儲所有的考生信息和考試信息:考生信息表(包含屬性:姓名、性別、準考證號、身份證號、所在學(xué)校)、考生考試信息表(包含屬性:考生號、準考證號、考試時間、考試狀態(tài))、題庫表(包含屬性:題號、題目、題目類型、分值)、正確答案
13、表(包含屬性:題號、標準答案)、考生試卷表(包含屬性:題號、考生號)、考生答案表(包含屬性:題號、答案、考生號)和考生成績表(包含屬性:準考證號、成績)。</p><p> 并為每個表設(shè)置了能唯一確定每位考生的屬性。其中考生信息表里設(shè)置屬性(準考證號)為主關(guān)鍵字,并在考生考試信息表和考生成績表里設(shè)置屬性(準考證號)為考生信息表中屬性(準考證號)的外部關(guān)鍵字。這樣就可一一關(guān)聯(lián)和對應(yīng)每一位考生的信息。在考生考試信息
14、表里為每位考生生成一屬性(考生號)并設(shè)置其為此表的主關(guān)鍵字。以唯一確定每一位考生的考試時間和考試狀態(tài)。在題庫中設(shè)置屬性(題號)為主關(guān)鍵字,這樣就可以唯一確定每一題,防止題目的重復(fù),也方便隨機為考生抽題。并在考生試卷表、正確答案表和考生答案表里設(shè)置屬性(題號)為外部關(guān)鍵字,這樣就和題庫中的題號一一對應(yīng)起來,可減少這些表中的屬性。從而實現(xiàn)整個數(shù)據(jù)庫設(shè)計的完整性和一致性。在考生答案表和考生試卷表中同時設(shè)置屬性(題號和考生號)為外部關(guān)鍵字,這樣
15、就把考生和題目聯(lián)系起來。通過關(guān)聯(lián)唯一確定每位考生的試卷和答案,也方便了以后的分發(fā)試卷和為每位考生評卷。</p><p> 表間對應(yīng)的局部和整體E-R圖如下:</p><p> ?。?)考生信息和考生考試信息之間的聯(lián)系:</p><p> (2)題庫和考生試卷之間的聯(lián)系</p><p> (3)考生試卷和考生試卷之間的聯(lián)系</p&g
16、t;<p> (4)題庫和正確答案之間的聯(lián)系</p><p><b> ?。?lt;/b></p><p> 5)考生信息和考生成績之間的聯(lián)系</p><p> (6)在線考試系統(tǒng)模型整體E-R圖:</p><p> 第三章邏輯結(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計</p><p> 第一條:邏
17、輯結(jié)構(gòu)設(shè)計</p><p> (1)下面是將各個實體和聯(lián)系轉(zhuǎn)化為相應(yīng)的二維表即關(guān)系模式,指定各個關(guān)系的主關(guān)鍵字和外部關(guān)鍵字,并對各個關(guān)系的約束加以限定:</p><p><b> 考生信息表</b></p><p><b> 考生考試信息表</b></p><p><b> 題庫表
18、</b></p><p> 備注:其中題目類型中:1-判斷題 2-填空題 3-選擇題</p><p><b> 正確答案表</b></p><p><b> 考生試卷表</b></p><p><b> 考生答案表</b></p>&l
19、t;p><b> 考生成績表</b></p><p> (2)所有表之間的關(guān)系圖:</p><p> 第二節(jié):物理結(jié)構(gòu)設(shè)計</p><p> 關(guān)系型數(shù)據(jù)庫的實現(xiàn):不同的數(shù)據(jù)庫產(chǎn)品所提供的物理環(huán)境,存取方法和存貯結(jié)構(gòu)有很大的區(qū)別。能供設(shè)計人員使用的設(shè)計變量,參數(shù)范圍也很不相同,因此沒有通用的物理設(shè)計方法可遵循,只能給出一般的設(shè)計內(nèi)容
20、和原則Microsoft SQL Server2000 就是關(guān)系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲和檢索。自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,可以使數(shù)據(jù)庫一目了然,還提供了排序功能。Microsoft SQL Server2000也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。如上所述, Microsoft SQL Server200
21、0 作為關(guān)系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強大功能。為此,首先要充分了解所用DBMS的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存取結(jié)構(gòu)。下面是具體的運行設(shè)計 </p><p> (四)為了改善和優(yōu)化數(shù)據(jù)庫的性能和查詢效果,為每個表創(chuàng)建了索引,具體代碼如下:</p><p> /*考生信息表索引*/</p><p>
22、; create unique index index_ksxx on ksxx(姓名,準考證號)</p><p> /*考生考試信息表索引*/</p><p> create unique index index_ksksxx on ksksxx(考生號)</p><p> create unique index index_ksksxx1 on ksks
23、xx(準考證號)</p><p><b> /*題庫表索引*/</b></p><p> create unique index index_tk on tk(題號)</p><p> /*正確答案表索引*/</p><p> create unique index index_zqda on zqda(題號)&
24、lt;/p><p> /*考生答案表索引*/</p><p> create unique index index_ksda on ksda(題號,考生號)</p><p> /*考生試卷表索引*/</p><p> create unique index index_kssj on kssj(考生號,題號)</p><
25、;p><b> /*成績表索引*/</b></p><p> create unique index index_kscj on kscj(準考證號)</p><p> ?。ㄎ澹榱藢崿F(xiàn)表間數(shù)據(jù)的一致性和完整性,創(chuàng)建了觸發(fā)器,具體代碼如下:</p><p> /*考生信息表觸發(fā)器*/</p><p> cr
26、eate trigger trigger_ksxx1</p><p><b> on ksxx</b></p><p> for insert,update,delete</p><p><b> as</b></p><p> if (SELECT LEN(準考證號) FROM inse
27、rted)<6 or (SELECT LEN(準考證號) FROM inserted)>6</p><p><b> begin</b></p><p> raiserror('準考證號長度不對!',10,1)</p><p> rollback transaction</p><p>
28、<b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p> print '添加成功!'</p><p><b> end</b></p>&l
29、t;p> if exists(select * from inserted where 身份證號 in(select 身份證號 from ksxx))</p><p><b> begin </b></p><p> print '身份證號已經(jīng)存在!'</p><p><b> return</b&
30、gt;</p><p><b> end</b></p><p> /*考生考試信息表觸發(fā)器*/</p><p> create trigger trigger_ksksxx</p><p><b> on ksksxx</b></p><p> for inser
31、t,update,delete</p><p><b> as</b></p><p> if exists(select * from inserted where 準考證號 in(select 準考證號 from ksksxx))</p><p><b> begin</b></p><p&g
32、t; raiserror('準考證號重復(fù)!',16,1)</p><p> rollback transaction</p><p><b> end</b></p><p> if not exists(select * from inserted where 考試時間 like '%-%-%'+
33、9; '+'%:%-%:%')</p><p><b> begin</b></p><p> raiserror('時間格式不對!',16,1)</p><p> rollback transaction</p><p><b> end</b>&l
34、t;/p><p> if not exists(select * from inserted where 考試狀態(tài) in('待考','就緒','考試中','結(jié)束','缺考'))</p><p><b> begin</b></p><p> raiserror(&
35、#39;狀態(tài)錯誤!',16,1)</p><p> rollback transaction</p><p><b> end</b></p><p> /*題庫表觸發(fā)器*/</p><p> create trigger trigger_tk</p><p><b>
36、 on tk</b></p><p> for insert,update,delete</p><p><b> as</b></p><p> if exists(select * from inserted where 題目 in(select 題目 from tk))</p><p><b
37、> begin</b></p><p> raiserror('題目重復(fù)!',16,1)</p><p> rollback transaction</p><p><b> end</b></p><p> if exists(select * from inserted w
38、here 題目 like '%?'and 題目類型=2)</p><p><b> begin</b></p><p> raiserror('題目類型錯誤!',16,1)</p><p> rollback transaction</p><p><b> end<
39、;/b></p><p> /*正確答案表觸發(fā)器*/</p><p> create trigger trigger_zqda</p><p><b> on zqda</b></p><p> for insert,update,delete</p><p><b>
40、as</b></p><p> if exists(select * from inserted where 題號 in(select 題號 from zqda))</p><p><b> begin</b></p><p> raiserror('題號重復(fù)!',16,1)</p><p&
41、gt; rollback transaction</p><p><b> end</b></p><p> /*考生答案觸發(fā)器*/</p><p> create trigger trigger_ksda</p><p><b> on ksda</b></p><p
42、> for insert,update,delete</p><p><b> as</b></p><p> if not exists(select * from inserted where 題號>0 and 題號<(select count(題號) from tk))</p><p><b> beg
43、in</b></p><p> raiserror('題號不在范圍之內(nèi)!',16,1)</p><p> rollback transaction</p><p><b> end</b></p><p> if not exists(select * from inserted wh
44、ere 考生號 in(select 考生號 from ksksxx where 考試狀態(tài)='考試中'))</p><p><b> begin</b></p><p> raiserror('考生號有誤!',16,1)</p><p> rollback transaction</p><
45、;p><b> end</b></p><p> /*考生試卷觸發(fā)器*/</p><p> create trigger trigger_kssj</p><p><b> on kssj</b></p><p> for insert,update,delete</p>
46、<p><b> as</b></p><p> if exists(select * from inserted where 考生號 in(select 考生號 from kssj))</p><p><b> begin</b></p><p> raiserror('考生試卷已生成!
47、39;,16,1)</p><p> rollback transaction</p><p><b> end</b></p><p> /*考生成績表觸發(fā)器*/</p><p> create trigger trigger_kscj</p><p><b> on ksc
48、j</b></p><p> for insert,update,delete</p><p><b> as</b></p><p> if exists(select * from inserted where 準考證號 in(select 準考證號 from ksksxx where 考試狀態(tài)='結(jié)束')
49、)</p><p><b> begin</b></p><p> raiserror('準考證號錯誤!',16,1)</p><p> rollback transaction</p><p><b> end</b></p><p> ?。υ?/p>
50、線考試系統(tǒng)功能的描述,針對各功能,創(chuàng)建了不同的存儲過程來實現(xiàn),這樣不但可以反復(fù)調(diào)用這些程序,大大減少了客戶端的處理事務(wù),同時也充分發(fā)揮服務(wù)器的功能,盡量減少網(wǎng)絡(luò)上的堵塞。</p><p> 根據(jù)查詢功能的需要,我創(chuàng)建了相應(yīng)的視圖,基于視圖創(chuàng)建了相應(yīng)的查詢存儲過程,這些存儲過程還包括對各表內(nèi)容信息的添加、刪除和更新。并且在存儲過程中也相應(yīng)地加入了對數(shù)據(jù)完整性和一致性的約束條件。同時還創(chuàng)建了為指定考生或所有考生隨機
51、生成試卷和對指定考生或所有考生評卷功能的存儲過程。</p><p> (1)為所有考生隨機生成試卷的存儲過程的功能實現(xiàn)可簡略為:我先創(chuàng)建了一個游標,用來暫時保存在線考試的考生的考生號,然后采用雙重while循環(huán),外層循環(huán)用來控制游標,一條一條地讀取考生號,內(nèi)層循環(huán)用來為游標所定位的考生隨機生成試題(我這里為了演示,只隨機生成了5到題)。當游標結(jié)束時,也就為所有的考生生成了試卷。所謂隨機就是用rand()函數(shù)在所
52、有題號(例如1-100)之間隨機生成一個隨機數(shù),由這個隨機數(shù)唯一對應(yīng)題庫中的一道題目。具體代碼如下:</p><p> /*給單一考生生成試卷*/</p><p> create proc pro_kssj_sj</p><p> (@ksh char(5)=null)</p><p><b> as</b>&l
53、t;/p><p> if not exists(select * from ksksxx where 考生號=@ksh)</p><p><b> begin</b></p><p> print '非法考生號!'</p><p><b> return</b></p>
54、;<p><b> end</b></p><p> if (select count(*) from kssj where 考生號=@ksh)<5</p><p><b> begin</b></p><p> while (select count(*) from kssj where 考生
55、號=@ksh)<5</p><p><b> begin</b></p><p> insert into kssj values(1+cast(rand()*10 as int),@ksh)</p><p><b> end</b></p><p><b> return&
56、lt;/b></p><p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p> print '題目已生成!'</p><p><b&g
57、t; end</b></p><p> exec pro_kssj_sj 'S0001' /*執(zhí)行示例*/</p><p> /*給所有考生生成試卷*/</p><p> create proc pro_all_kssj</p><p><b> as</b></p
58、><p> if not exists(select * from ksksxx)</p><p><b> begin</b></p><p> print '暫無考試考生!'</p><p><b> return</b></p><p><b&
59、gt; end</b></p><p><b> else</b></p><p><b> begin</b></p><p> declare cursor_all_kssj insensitive cursor</p><p> for select 考生號 from k
60、sksxx</p><p> for read only</p><p> declare @ksno char(5)</p><p> open cursor_all_kssj</p><p> fetch next from cursor_all_kssj into @ksno</p><p> whil
61、e(@@fetch_status=0)</p><p><b> begin</b></p><p> while (select count(*) from kssj where 考生號=@ksno)<5</p><p><b> begin</b></p><p> insert
62、into kssj values(1+cast(rand()*10 as int),@ksno) </p><p><b> end</b></p><p> fetch next from cursor_all_kssj into @ksno</p><p><b> end</b></p><
63、p> close cursor_all_kssj --關(guān)閉游標</p><p> deallocate cursor_all_kssj --釋放游標</p><p> print '試卷已生成!'</p><p><b> end</b></p&g
64、t;<p> exec pro_all_kssj /*執(zhí)行示例*/</p><p> (2)為所有考生評卷功能的存儲過程具體實現(xiàn)過程如下:創(chuàng)建一游標讀取考生答案表里的所有信息,同樣采用的是雙重while循環(huán)來實現(xiàn)此功能。外層循環(huán)用來控制游標,并定義兩個臨時變量@temp和@sum,然后用內(nèi)層循環(huán)來把考生答案和正確答案進行比較,如果結(jié)果一致,用變量@temp從題庫表
65、中讀取此題的分值,用變量@sum來累加分值,由于每位考生只有5道題,故內(nèi)層循環(huán)只循環(huán)5次,最后變量@sum中數(shù)值即位此考生的最后成績,并通過存儲過程pro_insert_cj(向考生成績表中插入成績)把考生成績插入考生成績表中。如此循環(huán)下去,直到游標結(jié)束,即位所有考生評卷過程結(jié)束??忌煽儽碇幸沧詣蛹尤肓嗣课辉诰€考試的考生的分數(shù)。具體實現(xiàn)代碼如下:</p><p> /*給單一考生評分存儲過程*/</p&
66、gt;<p> create proc pro_pf</p><p> (@ksno char(5))</p><p><b> as</b></p><p> declare cursor_pf insensitive cursor</p><p> for select 題號,答案 from
67、ksda where 考生號=@ksno</p><p> for read only</p><p> if not exists(select * from ksksxx where 考生號=@ksno and 考試狀態(tài)='結(jié)束')</p><p><b> begin</b></p><p>
68、 raiserror('考生考試還未結(jié)束!',16,1)</p><p> rollback transaction</p><p><b> end</b></p><p><b> else</b></p><p><b> begin</b>&l
69、t;/p><p> print '考試已結(jié)束,繼續(xù)!'</p><p><b> end</b></p><p> if not exists(select * from kssj where 考生號=@ksno)</p><p><b> begin</b></p>
70、<p> print '沒有此考生的答案!'</p><p><b> return</b></p><p><b> end</b></p><p><b> else</b></p><p><b> begin</b
71、></p><p> open cursor_pf</p><p> declare @name sysname,@result sysname,@sum int,@temp int,@temp1 int,@zkzh char(6)</p><p> fetch next from cursor_pf into @name,@result</p&g
72、t;<p> select @sum=0</p><p> select @temp=1</p><p> select @temp1=1</p><p> while(@temp1<=5)</p><p><b> begin</b></p><p> if ex
73、ists(select * from zqda where 題號=@name and 標準答案=@result)</p><p><b> begin</b></p><p> select @temp=(select 分值 from tk where 題號=@name)</p><p> select @sum=@sum+@temp&l
74、t;/p><p> select @temp1=@temp1+1</p><p> --print 'haha'</p><p> --print @sum</p><p> fetch next from cursor_pf into @name,@result</p><p><b>
75、 end</b></p><p><b> else</b></p><p><b> begin</b></p><p> select @temp1=@temp1+1</p><p> fetch next from cursor_pf into @name,@result
76、</p><p><b> end</b></p><p> --print '@temp1為:'+cast(@temp1 as char)</p><p> --print '@name為:'+cast(@name as char)</p><p><b> end&l
77、t;/b></p><p> close cursor_pf --關(guān)閉游標</p><p> deallocate cursor_pf --釋放游標</p><p> print @sum</p><p> select @zkzh=(select 準考證號 from
78、 ksksxx where 考生號=@ksno)</p><p> exec pro_insert_cj @zkzh,@sum</p><p> /*print '分數(shù)為:'+cast(@sum as char)*/</p><p><b> end</b></p><p> exec pro_p
79、f 'S0005' /*執(zhí)行示例*/</p><p> /*給所有考生評分存儲過程*/</p><p> create proc pro_all_pf</p><p><b> as</b></p><p> declare cursor_pf insensi
80、tive cursor</p><p> for select 題號,答案,考生號 from ksda order by 考生號</p><p> for read only</p><p><b> begin</b></p><p> open cursor_pf</p><p>
81、declare @name sysname,@result sysname,@sum int,@temp int,@temp1 int,@zkzh char(6),@ksno char(5),@ksno1 char(5)</p><p> fetch next from cursor_pf into @name,@result,@ksno</p><p> while(@@fetch_
82、status=0)</p><p><b> begin</b></p><p> select @sum=0</p><p> select @temp=1</p><p> select @temp1=1</p><p> while(@temp1<=5)</p>
83、<p><b> begin</b></p><p> if not exists(select * from ksksxx where 考生號=@ksno and 考試狀態(tài)='結(jié)束')</p><p><b> begin</b></p><p> print '考生考試還未結(jié)
84、束!'</p><p><b> continue</b></p><p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p> pr
85、int '考試已結(jié)束,繼續(xù)!'</p><p><b> end</b></p><p> if exists(select * from zqda where 題號=@name and 標準答案=@result)</p><p><b> begin</b></p><p>
86、 select @temp=(select 分值 from tk where 題號=@name)</p><p> select @sum=@sum+@temp</p><p> select @temp1=@temp1+1</p><p> --print 'haha'</p><p> --print @sum&
87、lt;/p><p> fetch next from cursor_pf into @name,@result,@ksno</p><p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p>
88、<p> select @temp1=@temp1+1</p><p> fetch next from cursor_pf into @name,@result,@ksno</p><p><b> end</b></p><p> if @temp1=5</p><p><b> b
89、egin</b></p><p> select @ksno1=@ksno</p><p><b> end</b></p><p><b> end</b></p><p> --print @sum</p><p> select @zkzh=(se
90、lect 準考證號 from ksksxx where 考生號=@ksno1)</p><p> exec pro_insert_cj @zkzh,@sum</p><p><b> end</b></p><p> close cursor_pf --關(guān)閉游標</p><p>
91、 deallocate cursor_pf --釋放游標</p><p> /*print '分數(shù)為:'+cast(@sum as char)*/</p><p> print '--評分成功!'</p><p><b> end</b></p><p>
92、 exec pro_all_pf /*執(zhí)行示例*/</p><p><b> 系統(tǒng)的實現(xiàn):</b></p><p> 設(shè)置數(shù)據(jù)庫,選擇“開始設(shè)置|控制面板,菜單,打開”管理工具文件夾,雙擊“數(shù)據(jù)源”項目,在彈出的對話框中選擇“文件DSN”標簽頁,然后單擊“添加”按鈕,選擇“SQL SERVER”項目。單擊“完成”
93、按鈕,在名稱文本框中填寫“Hotel_MIS”,服務(wù)器中選擇“(local)”, 單擊“下一步”按鈕,選擇登錄ID,這里使用認的選擇,也可發(fā)自己設(shè)置其他的登錄方式。單擊“下一步”按鈕,出現(xiàn)選擇認數(shù)據(jù)庫對話框,選中“更改認數(shù)據(jù)庫為:”選項,然后選擇“student”,單擊下一步,單擊完成按鈕,完成數(shù)據(jù)源設(shè)置。單擊“測試數(shù)據(jù)源”進行數(shù)據(jù)源測試,出現(xiàn)測試成功,單擊“確定”,退出數(shù)據(jù)源設(shè)置。</p><p> 在系統(tǒng)文
94、件中選擇SQL文件,復(fù)制此文件,然后按開始菜單選擇Microsoft SQL Server2000/查詢分析器/把此文件復(fù)制到此文件中,單擊保存就可以生成數(shù)據(jù)庫了。然后運行這個程序會出現(xiàn)登陸窗口。輸入用戶名和密碼后,就可以進入系統(tǒng)了。 </p><p><b> 結(jié)束語</b></p><p> 經(jīng)過了自己動手進行課程設(shè)計,對本學(xué)科的知識 有了更深的了解 這4天的
95、下午,每天都在上網(wǎng)查資料,找到合適的以后經(jīng)過自己的理解和修改完成了《遼寧工程技術(shù)大學(xué)學(xué)籍管理系統(tǒng)課程設(shè)計》對我來說也是一個很大的挑戰(zhàn),是對自己的一次鍛煉 在課程設(shè)計的 過程中 遇到了很多以前沒遇到過的問題 在解決問題中也得到了進步,我相信這次課程設(shè)計對我以后對本專業(yè)的學(xué)習(xí)會起到很大的作用的,也很感謝老師在這次設(shè)計中對我的幫助,這次課程設(shè)計使我明白了很多知識 ,受益匪淺。</p><p> 最后,在這次課程設(shè)計
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計-在線考試系統(tǒng)
- 在線考試系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--網(wǎng)上考試系統(tǒng)
- 石大遠程在線考試——數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--bbs系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--在線網(wǎng)上訂餐系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---數(shù)據(jù)庫
- 數(shù)據(jù)庫課程設(shè)計報告--ktv在線點歌系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--快餐訂餐系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--數(shù)據(jù)庫系統(tǒng)原理
- 數(shù)據(jù)庫課程設(shè)計--數(shù)據(jù)庫設(shè)計—公司管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計快餐訂餐系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--在線圖書銷售管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--數(shù)據(jù)庫原理及應(yīng)用課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計---機房管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--購物系統(tǒng)
- 在線論壇系統(tǒng)數(shù)據(jù)庫原理課程設(shè)計c#
- 數(shù)據(jù)庫課程設(shè)計--工資管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--簡單的學(xué)生考試系統(tǒng)設(shè)計
評論
0/150
提交評論