譚 寧
[摘要]概述一種高校試題庫系統(tǒng)的題庫數(shù)據(jù)庫及表的設(shè)計,本設(shè)計利用SQL Server2000格式。設(shè)計中充分考慮盡量減少數(shù)據(jù)存放冗余度,數(shù)據(jù)規(guī)范化達(dá)到了3NF,采用SQL server 2000提供的數(shù)據(jù)約束,較好地解決數(shù)據(jù)一致性的問題。
[關(guān)鍵詞]數(shù)據(jù)庫 數(shù)據(jù)庫表 試題庫
中圖分類號:TP3文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)0310050-01
在Internet發(fā)展和盛行的今天,現(xiàn)代遠(yuǎn)程教育、網(wǎng)絡(luò)教育和互聯(lián)網(wǎng)的結(jié)合已成為一種趨勢,作為教育教學(xué)資源的試題庫系統(tǒng)也已成為研究的熱點??荚嚨囊?guī)?;?、科學(xué)化和標(biāo)準(zhǔn)化的提高,考試的次數(shù)頻繁,題庫的作用越來越
受到人們的重視。
一、概述
基于SOA架構(gòu)的,采用Web Services技術(shù),建立在.NET平臺的開放性、松耦合、跨平臺、可重用和靈活的試題庫系統(tǒng),基于此架構(gòu)的試題庫能實現(xiàn)系統(tǒng)的開放性和資源共享,使得使用不同平臺、不同編程環(huán)境的客戶端用戶通過試題庫系統(tǒng)提供的Web服務(wù)充分利用試題庫系統(tǒng)所提供的試題庫資源。并通過該系統(tǒng)進(jìn)一步規(guī)范高校試卷命題的程序,加強(qiáng)高??荚嚬芾磉^程,提高教學(xué)質(zhì)量。
二、系統(tǒng)數(shù)據(jù)庫結(jié)構(gòu)
本系統(tǒng)在設(shè)計時所建立的題庫數(shù)據(jù)庫及表均為關(guān)系型數(shù)據(jù)庫SQL Server2000格式。設(shè)計中充分考慮盡量減少數(shù)據(jù)存放冗余度,數(shù)據(jù)規(guī)范化達(dá)到了3NF,采用SQL server 2000提供的數(shù)據(jù)約束,較好地解決了數(shù)據(jù)一致性的問題。在各表中,編號字段(ID)全部是系統(tǒng)在增加、刪除、移動數(shù)據(jù)對象時自動生成和處理的。兩位編號代碼范圍為01-99,三位編號代碼范圍為001-999,依此類推,編號工作不需人工干預(yù),各表中所指文本字段長度均為UniCode編碼方式。以下是部分?jǐn)?shù)據(jù)庫表的設(shè)計。
(一)用戶登陸。無論是系統(tǒng)管理員用戶還是教師用戶、考生用戶,進(jìn)入考試系統(tǒng)首先要做的第一步工作便是登陸系統(tǒng),即驗證登陸用戶的用戶名和密碼。登陸時先檢查有無輸入的用戶名,如有則繼續(xù)檢查密碼,如密碼正確則登陸成功可進(jìn)入相應(yīng)的導(dǎo)航頁面,否則則提示密碼出錯信息,要求用戶重新登陸。在數(shù)據(jù)庫中建立用戶表(admininfo表),表中存放有用戶的帳號、密碼以及權(quán)限,用戶根據(jù)權(quán)限不同選擇相應(yīng)操作功能。用戶表結(jié)構(gòu)如表2.1所示。
(二)考試科目的設(shè)置。由于系統(tǒng)必須滿足各種科目的考試要求,因此在系統(tǒng)中設(shè)計了考試科目表。每個考生所能參加的考試科目、每個教師所能夠管理的科目都必須針對考試科目來實現(xiàn)。根據(jù)考試要求,考生參加考試的科目有可能增加,也有可能減少,因此,對考試科目要能做到輸入、修改、刪除等操作??荚嚳颇勘砣绫?.2所示。
(三)組卷策略與組卷方式。根據(jù)組卷需要,考試試卷要設(shè)置相應(yīng)的考試難度,同時還要設(shè)置每套試卷不同題型數(shù)量及同一題型單題數(shù)量和試卷總分,而且所組試卷要做到兩兩互不相同。因此,在組卷時要設(shè)置組卷策略:即是否設(shè)置了考試時間,各類型題目對應(yīng)的高難度、中等難度和一般難度試題權(quán)重比之和是否為1,單選題、多選題、判斷題、填空題、簡答題和操作題各題分?jǐn)?shù)總和是否為100分等,如滿足了以上要求,則開始組卷,否則給出相應(yīng)提示。組卷時以每份試卷為單位進(jìn)行組卷,為便于取卷,已組好的試卷按照一個科目一個目錄的方式存放,每份試卷建立一個目錄。組卷數(shù)量達(dá)到設(shè)置的組卷試卷總數(shù)時結(jié)束。
在一份試卷的組卷過程中,按照題型來處理。為了提高組卷速度,組卷前,將模板數(shù)據(jù)庫拷貝到該套試卷的目錄中。先處理單選題目,從試卷策略中先讀出單選題的數(shù)量,為保證知識點的難度一致性,先按照預(yù)先設(shè)定的難度,將該題型的高難度題目全部抽取出來,按照高難度所占的比例乘以總題量組織高難度的題目,為保證知識點的平衡,將高難度的題目分組,按照一定間隔來組卷。先將總單選題目中的高難度題目數(shù)量除以每套試卷的題數(shù)作為組卷間隔,在該間隔內(nèi)隨機(jī)抽取一個題目,將該題目的題面和題目的選擇A,B,C,D答案保存到考生答卷數(shù)據(jù)庫中,同時保存的還有該題在總題庫中的編號,但是不保存該題目的標(biāo)準(zhǔn)答案,這主要是為了保證即便考生能夠打開考生數(shù)據(jù)庫也不會看到答案而避免作弊。按照同樣的方式處理中等難度題目,再處理簡單題型的難度。有時候,教師為了方便起見,不標(biāo)明所有題型的難度,因此,在處理時,如果發(fā)現(xiàn)即便某難度的題目全部拿出來作為試題也不夠,此時將數(shù)量最大的難度題目進(jìn)行處理。因此,先處理的題目應(yīng)該是選擇余地比較小的難度的題目,我們按照某難度的總題量除以該難度的題目作為排序依據(jù)來先處理選擇余地比較小的題目。一旦發(fā)現(xiàn)某難度的題庫中的總題量不足應(yīng)該組卷的題量,就將剩下的每組卷的題目放在下一個難度的題目中去組卷。這是為了確保組卷成功的措施。當(dāng)然,如試題庫中的總題量小于應(yīng)該選擇的題量,提示組卷失敗,組卷終止。根據(jù)組卷原則,為了保證組出的試卷兩兩之間互不相同,題庫的題量越大越好。在實際工作中,我們將所有題目的題目難度設(shè)置為同樣的難度,由于組卷使用隨即抽取的方式抽取試卷,我們對比了大量試卷,發(fā)現(xiàn)組卷出來的試卷的難度水平差異很小,可以忽略。可以認(rèn)為,組出的試卷難度一致。這樣,在輸入試卷的時候可以不輸入試卷難度而直接使用默認(rèn)的試卷難度。處理完單選題目之后,按照同樣的方式繼續(xù)處理該套試卷的多選題目、判斷題、填空題、問答題以及操作題。值得注意的是,如果在組卷策略表中發(fā)現(xiàn)某題型的數(shù)量為零或者根本沒有該科目該題型的記錄而該科目的組卷的題目分?jǐn)?shù)總和為100分,說明該科目沒有該題型的科目,該題型的題目可以直接忽略。處理完一套試卷后,繼續(xù)處理下一套試卷,直到所有各套試卷組卷完畢結(jié)束。
(四)試題庫的管理。試題庫的管理是實現(xiàn)網(wǎng)絡(luò)考試成功與否的關(guān)鍵。我們以計算機(jī)類課程的考試情況為例,將試題劃分為單選題、多選題、判斷題、填空題、問答題和操作題等六種題型。每種題型建立相應(yīng)的錄入、修改、刪除操作模塊。
單選題目有題面,所以有一個題面字段,現(xiàn)在例行考試方式一般只有四個答案,因此,系統(tǒng)表設(shè)置四個答案的記錄字段,牽涉到有的題目有相應(yīng)注釋,所以,加上一個注釋字段。同時,為了控制題目難度,設(shè)置一個難度字段。對于單選題目的輸入,使用表單來輸入各字段的內(nèi)容,在管理員提交后保存到數(shù)據(jù)庫。對于修改試題庫模塊,需要顯示試題的詳細(xì)內(nèi)容,修改完相應(yīng)內(nèi)容后保存數(shù)據(jù)即可。對于刪除試題庫模塊,顯示試題內(nèi)容后,選擇相應(yīng)的題目,選擇刪除即可。
本文對高??荚囅到y(tǒng)數(shù)據(jù)庫結(jié)構(gòu)進(jìn)行了總體設(shè)計,以后的工作只需加入各功能模塊,即可構(gòu)建完整的高??荚囅到y(tǒng)。
參考文獻(xiàn):
[1]張莉、王強(qiáng),SQL Server數(shù)據(jù)庫原理及應(yīng)用教程[M].清華大學(xué)出版社.
[2]譚永明、蘇斌,面向服務(wù)架構(gòu)體系的研究[J].計算機(jī)技術(shù)與發(fā)展,2007.03.
作者簡介:
譚寧,男,漢,副教授,淄博職業(yè)學(xué)院信息工程系,研究方向:計算機(jī)網(wǎng)絡(luò)。