馬華 張西學 張念華 李聰 張海東
摘? ?要:本文為簡化高校網(wǎng)絡(luò)考試系統(tǒng)中數(shù)據(jù)庫的設(shè)計,在網(wǎng)絡(luò)考試數(shù)據(jù)庫的概念模型設(shè)計時,結(jié)合使用傳統(tǒng)ER圖和現(xiàn)代ER圖兩種工具,提供了一個體現(xiàn)自頂向下、逐步求精的數(shù)據(jù)庫設(shè)計方案。該方案簡潔自然地完成了考試數(shù)據(jù)庫模型的設(shè)計,有力支持了高校網(wǎng)絡(luò)考試系統(tǒng)多種功能的實現(xiàn)。
關(guān)鍵詞:ER圖;網(wǎng)絡(luò)考試;數(shù)據(jù)庫模型
中圖分類號:TP311.52 文獻標志碼:A 文章編號:1673-8454(2019)07-0090-04
在互聯(lián)網(wǎng)大發(fā)展和教育信息化蓬勃開展的今天,考試無紙化和網(wǎng)絡(luò)化因其方便、快捷、公平、公正等特點,成為高等教育領(lǐng)域的研究熱點。各種考試系統(tǒng)被開發(fā)出來并應(yīng)用于各類考試,有的考試系統(tǒng)能通用于多門課程的考試,如基于XML技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)[1]、基于Web的網(wǎng)考平臺[2]、基于Web服務(wù)的智能考試平臺[3]、基于Web的在線考試管理系統(tǒng)[4]、考易網(wǎng)絡(luò)題庫與考試系統(tǒng)[5]等;有的只用于單一課程的考試,如基于Web的在線英語考試系統(tǒng)[6]、基于asp.net的醫(yī)學在線考試與教學輔助系統(tǒng)[7]等??荚囅到y(tǒng)的核心都是考試數(shù)據(jù)庫的設(shè)計。對于數(shù)據(jù)庫的設(shè)計,以上文獻甚少提及。文獻《基于JSP技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)數(shù)據(jù)庫的設(shè)計》[8]、《網(wǎng)絡(luò)考試系統(tǒng)中數(shù)據(jù)庫的設(shè)計及架構(gòu)》[9]專門對考試數(shù)據(jù)庫進行了設(shè)計,也不太適合我??荚嚨膶嶋H情況。
經(jīng)過對我??荚噷嶋H進行大量分析,并兼顧考試通用情況,本文詳細介紹了網(wǎng)絡(luò)考試系統(tǒng)中數(shù)據(jù)的關(guān)系模型設(shè)計,該模型既適合我??荚噷嶋H情況,也考慮到考試通用情況。
采用數(shù)據(jù)庫設(shè)計方法設(shè)計考試數(shù)據(jù)庫。數(shù)據(jù)庫的設(shè)計一般分為四個階段——需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計。本文在需求分析后,主要對考試數(shù)據(jù)的概念模型和邏輯模型進行設(shè)計。
1.需求分析
網(wǎng)絡(luò)考試系統(tǒng)主要完成教師創(chuàng)建課程、課程管理、導(dǎo)入題庫、組卷、批卷和試卷分析,學生在線登錄考試、交卷,管理員對學生和教師用戶進行管理,完成數(shù)據(jù)備份、試卷和考卷備份等功能。教師出卷后,由教研室、院系和學校對試卷進行三級審核。當學生、教師和課程的數(shù)據(jù)量很大時,為了高效管理這些數(shù)據(jù),需要通過學校、學院、專業(yè)、年級、學歷對學生進行組織,通過學校、學院和教研室對教師進行組織。課程包含三級知識點,題目屬于第三級知識點。數(shù)據(jù)庫都放在服務(wù)器中,各用戶通過網(wǎng)考系統(tǒng)遠程登錄訪問。
2.概念模型設(shè)計
概念模型就是從現(xiàn)實世界到信息世界的第一層抽象,以確定領(lǐng)域?qū)嶓w屬性關(guān)系,用E-R圖表示。E-R圖主要是由實體、屬性和聯(lián)系三個要素構(gòu)成的。
根據(jù)需求分析,網(wǎng)考系統(tǒng)中用來存儲數(shù)據(jù)的實體應(yīng)該包含學校、學院、專業(yè)、教師、學生、課程、題目、試卷等。各實體之間的聯(lián)系如下:一個學校包含多個學院、一個學院包含多個專業(yè)、一個專業(yè)包含多個學生;一個學院擁有多名教師,一名教師教授多門課程,一門課程包含多個一級知識點(章)、一個一級知識點包含多個二級知識點(節(jié)),一個二級知識點包含多個三級知識點,一個三級知識點包含多個題目,一個題目包括一個或多個題干、0個或多個選項和對應(yīng)的正確答案(題目類型決定題干和選項的數(shù)目);從一門課程的題庫可以組多份試卷,一份試卷可以選定多名學生考試,并保存學生對每個題的答案。
概念模型通常使用ER圖來表達,ER圖分為傳統(tǒng)的和現(xiàn)代的ER圖,這兩種圖形工具各具特點。為了使數(shù)據(jù)模型更清楚和更好理解,本文分別設(shè)計了考試數(shù)據(jù)的傳統(tǒng)ER圖和現(xiàn)代ER圖。繪制ER圖的工具軟件較多,本文使用微軟Office中的visio作為繪制工具。
(1)傳統(tǒng)ER圖設(shè)計
在傳統(tǒng)ER圖的圖形符號中,矩形框表示實體,橢圓表示實體的屬性特征,菱形表示實體之間的聯(lián)系。聯(lián)系有三種類型:1∶1、1∶n(或n∶1)、m∶n,分別表示一對一、一對多(或多對一)、多對多。為使ER圖看起來簡潔,只在圖中列出實體名稱及實體之間的聯(lián)系,并未列出實體的屬性。圖1為考試數(shù)據(jù)的傳統(tǒng)ER圖。
為便于說明圖1中的實體及其聯(lián)系,以下給出試卷、考卷和考題的概念。
①試卷:一門課程的一次考試前,從題庫中抽題后組成的試卷,相當于傳統(tǒng)考試中教師所出的試卷模板,是將要進行大規(guī)模印刷的那份試卷。試卷信息包括試卷名稱、考試時間、考試地點、包含的題目、試卷總分等。
②考卷和考題:印刷后分發(fā)給學生的每一份試卷中,分為卷頭和卷體。卷頭包括試卷名稱和學生信息(學號、姓名和班級),卷體包含各題目以及留給學生寫答案的空間。卷頭定義為“考卷”,卷體定義為“考題”。
在圖1(a)中,第一、二行為系統(tǒng)中的組織機構(gòu)和人物實體,包括學校、院系、專業(yè)、教研室、教師和學生;中間一行的實體為試卷、考卷、考題和題目;最后一行中的一級、二級和三級知識點,可以對應(yīng)為章、節(jié)和知識點。
試卷、考卷和考題與教師、學生、課程之間的聯(lián)系較為復(fù)雜,對圖1(a)中的各個聯(lián)系從左向右進行具體說明如下:
①教師與學生考題間的批改聯(lián)系為一對多聯(lián)系。即一個學生可以答多份考卷(即多門課程的考卷),一門課程的試卷可以由多名考生作答。一名教師可以批改多個考題,一個考題只能由一名教師批改,即一份答卷中的主觀題由多名教師分工批改,所以教師和考題之間的批改聯(lián)系是一對多聯(lián)系。
②學生與考卷之間的解答聯(lián)系為一對多聯(lián)系。一名學生可以在不同的時間解答多份考卷(多門課程的考卷),而一份考卷只能由一名學生解答。
③試卷和考卷之間是一對多(或一對一)聯(lián)系。該聯(lián)系表明,用一份試卷可以復(fù)制生成多份考卷,也可以生成一份考卷,而一份考卷只能屬于一份試卷的復(fù)制品。在一門課程的一次考試中,如果一份試卷對應(yīng)多份考卷,則表示一個課程班的學生用相同試卷考試,或用A、B、C等多份試卷考試;如果一份試卷對應(yīng)一份考卷,表示該課程班每個學生的考卷是隨機產(chǎn)生的,即一人一卷。
④試卷和題目間的組卷關(guān)系為多對多聯(lián)系。在一門課程的組卷過程中,一份試卷可以由多個題目組成,一個題目也可組入多份試卷,如一個題目可以出現(xiàn)在A卷,也可以出現(xiàn)在B卷中,但要控制各卷的題目重復(fù)率。
⑤題目、題型類別、小題及選項之間的聯(lián)系。題目所屬的題型為兩大類別,即客觀題和主觀題。
一是當題目屬于客觀串題時(類似英語的一篇閱讀理解),則該題目包含多個小題(小題也是客觀題);當題目屬于客觀非串題時,該題目只對應(yīng)一個小題。以上兩種情況下,小題都包含多個選項。
二是當題目屬于主觀串題時,題目包含多個小題,小題也均為主觀題;題目是主觀非串題時,只對應(yīng)一個小題。這兩種情況下,小題均不包含選項。
為使ER圖簡潔,把教研室、院系和學校對試卷的“審核”聯(lián)系單獨摘出來,見圖1(b)。
(2)考試數(shù)據(jù)的現(xiàn)代ER圖設(shè)計
圖1中的傳統(tǒng)ER圖能夠清晰表達各實體之間的聯(lián)系及聯(lián)系的類型,但如果添加實體的屬性后,則ER圖會變得復(fù)雜凌亂。因此在設(shè)計傳統(tǒng)ER圖后,本文又設(shè)計了現(xiàn)代ER圖(見圖2)。
在現(xiàn)代ER圖中,矩形框表示實體,實體間的連接線表示實體之間的聯(lián)系。矩形框的第一行為實體名稱,第二行pk為主鍵屬性,其余行表示實體的其他屬性。從圖2可以看出,現(xiàn)代ER圖只有矩形和連接線,整體比較規(guī)整,但無法看出連接線所表示聯(lián)系的意義。
圖2(a)中增加了“組卷”實體,用來保存每個組卷信息,該次組卷含題號、各題分值(可以保存題目的新設(shè)分值)、組卷策略(手動組卷或自動組卷)、組卷時間等。該實體對應(yīng)圖1中的題目和試卷間的“組卷”聯(lián)系。
3.邏輯模型設(shè)計
概念模型設(shè)計完成后,由現(xiàn)代ER圖轉(zhuǎn)換為相應(yīng)的邏輯模型,目前最流行的邏輯模型是關(guān)系模型。該階段的任務(wù)是將ER圖中的實體及實體間的聯(lián)系轉(zhuǎn)換為關(guān)系,并確定這些關(guān)系的屬性和碼。將每一個實體設(shè)計為一個關(guān)系,實體之間的一對一和多對一聯(lián)系設(shè)計為外鍵聯(lián)系,多對多的聯(lián)系設(shè)計為一個關(guān)系。以下是由ER圖導(dǎo)出的關(guān)系模式,一個關(guān)系對應(yīng)關(guān)系數(shù)據(jù)庫中的一張表,其中雙下畫線標注的是主鍵,單下劃線標出的是外鍵,表示與其他表的聯(lián)系。
學校(學校編號,學校名稱)
院系(院系編號,院系名稱,學校編號)
專業(yè)(專業(yè)編號,專業(yè)名稱,院系編號)
教研室(教研室編號,教研室名稱,院系編號)
學生(學號,姓名,年級,班次,專業(yè)編號,學歷編號)
教師(教師號,姓名,性別,職稱,qq號,電話,教研室編號)
課程(課程號,課程名,學時,學分,教師號)
一級知識點(知識點id1,名稱,課程號)
二級知識點(知識點id2,名稱,知識點id1)
三級知識點(知識點id3,名稱,知識點id2)
題型(題型編號,題型名稱)
題目(題目id,題干內(nèi)容,題型編號,知識點id3)
小題(小題id,題干內(nèi)容,答案,難度,分值,認知程度,題目id)
選項(選項id,選項內(nèi)容,小題id)
試卷(試卷號,試卷名稱,試卷總分,開考時間,考試地點,審核狀態(tài),課程號)
組卷(組卷號,所含題號,各題分值,組卷策略,組卷時間,試卷號)
考卷(考卷號,客觀題成績,主觀題成績,總成績,開答時間,交卷時間,答題進度,考卷狀態(tài),組卷號,學號)
考題(考題號,學生答案,答題時間,得分,批改時間,考卷號,教師號)
根據(jù)前文的邏輯模型設(shè)計出物理數(shù)據(jù)庫的關(guān)系表,這里采用Sql Server數(shù)據(jù)庫。限于篇幅,僅列出題目表的結(jié)構(gòu)設(shè)計。(詳見表1、2、3)
當題型為非串題時,表1中題目表的題干內(nèi)容為空;當題目題型為客觀題時,該題不存在選項,即表3 中不存在該題的選項。
該考試數(shù)據(jù)庫使用sql server 2008 r2設(shè)計,以該數(shù)據(jù)庫為核心,輔以memcached緩存技術(shù),利用Asp.net MVC為開發(fā)和運行環(huán)境,設(shè)計了基于B/S模式的高校網(wǎng)絡(luò)考試系統(tǒng)。該網(wǎng)考系統(tǒng)已連續(xù)4年應(yīng)用于泰山醫(yī)學院的期末考試中,學期期末網(wǎng)考課程6門,考試班級300多個,網(wǎng)考人次多達10多萬。該網(wǎng)考系統(tǒng)允許多門課程同時在線考試,并發(fā)人數(shù)多達2000人,此時系統(tǒng)運行仍然流暢。
本文在設(shè)計數(shù)據(jù)庫時經(jīng)過了需求分析、概念模型設(shè)計、邏輯模型設(shè)計等步驟,在設(shè)計概念模型時利用了傳統(tǒng)ER圖、現(xiàn)代ER圖工具,這種設(shè)計方法體現(xiàn)了自頂向下的設(shè)計思想,逐層遞進,由粗到細,由簡到繁。
1.融合使用傳統(tǒng)ER圖和現(xiàn)代ER圖設(shè)計數(shù)據(jù)庫
(1)通過需求分析,設(shè)計出傳統(tǒng)ER圖。傳統(tǒng)ER圖中只有實體名稱和含義明確的實體間聯(lián)系,這樣的ER圖簡潔清晰。
(2)通過傳統(tǒng)ER圖,設(shè)計出現(xiàn)代ER圖?,F(xiàn)代ER圖能詳細展示實體的主鍵屬性及其他屬性。
(3)在現(xiàn)代ER圖基礎(chǔ)上,設(shè)計出關(guān)系模式。將現(xiàn)代ER圖中的實體轉(zhuǎn)化為關(guān)系模式,并通過實體間聯(lián)系的類型,設(shè)置實體的外鍵屬性。
(4)在關(guān)系模式基礎(chǔ)上,選用某種關(guān)系數(shù)據(jù)庫,設(shè)計出關(guān)系表。關(guān)系表的表名、字段名均采用字母表示,并設(shè)計出字段類型、字段寬度,從而完成考試關(guān)系數(shù)據(jù)庫的設(shè)計。
設(shè)計步驟中使用的多個工具相互結(jié)合,優(yōu)勢互補,很好地完成了考試數(shù)據(jù)庫的設(shè)計。
2.設(shè)計的網(wǎng)考數(shù)據(jù)庫有力支持了網(wǎng)考系統(tǒng)的功能
(1)數(shù)據(jù)結(jié)構(gòu)簡潔,數(shù)據(jù)冗余小。
(2)該數(shù)據(jù)庫有效地支持網(wǎng)考系統(tǒng)的功能??梢灾С侄嚅T課程、多個班級的考試,支持多種組卷方式、多級試卷審核、多人同卷、一人一卷。多人同卷時,各卷題目順序隨機,同一客觀題選項順序隨機。
[1]成潔.XML技術(shù)在網(wǎng)絡(luò)考試系統(tǒng)中的應(yīng)用[J].福建電腦,2010(7):99-100.
[2]孫麗娟,張沂紅.基于Web的網(wǎng)考平臺的研究與實現(xiàn)[J].科技信息, 2010(4):239,241.
[3]張璜.基于Web服務(wù)的智能考試平臺設(shè)計[J].信息與電腦,2016(13):130-131.
[4]王正燕,韋萍萍,崔忠偉等.基于Web在線考試管理系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2015(5):100-101,103.
[5]席衛(wèi)文,張春輝,朱漢祎等.考易網(wǎng)絡(luò)題庫與考試系統(tǒng)實測研究[J].中國高等醫(yī)學教育,2013(8):3-5.
[6]楊海濤,馮曉英.基于Web的在線英語考試系統(tǒng)設(shè)計與實現(xiàn)[J].無線互聯(lián)科技,2016(6):52-53.
[7]胡虹瑛,賈錦勇,鄒揚等.基于asp.net的醫(yī)學在線考試與教學輔助系統(tǒng)的優(yōu)化[J].西北醫(yī)學教育,2007(5):902-904.
[8]歐陽江林,羅桂鑾.基于JSP技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)數(shù)據(jù)庫的設(shè)計[J].福建電腦,2006(8):119-120.
[9]龔利.網(wǎng)絡(luò)考試系統(tǒng)中數(shù)據(jù)庫的設(shè)計及架構(gòu)[J].信息通信,2015(3):114-115.
(編輯:王天鵬)