陳輝,趙曉華
(陜西交通職業技術學院 陜西 西安 710018)
學生上機實訓考核系統中數據庫設計與實現
陳輝,趙曉華
(陜西交通職業技術學院 陜西 西安 710018)
為了提高學院的上機實訓工作的信息化,減輕實訓教師的工作強度降低工作量,課題組開發了學生上機實訓考核系統,系統數據保存使用Sqlserver2012數據庫系統保存,在數據庫設計中,課題組采用了易用性和可擴充性并重的原則進行設計,設計完成的數據庫可以充分滿足后續系統設計的需求,達到了預期的目標。
SQL Server;數據庫設計;實訓作業;上機考核;數據優化
近年來,學院上機作業通常是教師通過FTP或文件共享發布和提交的,教師收取后保存在U盤中后進行瀏覽手動評閱,沒有一個較好的上機現場考核手段,學生在提交作業后,不便重新修改提交,對于歷史提交的作業也沒有一個較好的保存方法,為了改革學院的上機實訓考核和實訓作業提交評閱的落后方式,我系開發了學生上機實訓考核系統,在系統開發的過程中,重要的環節就是數據庫設計,通過廣泛的調研和用戶需求分析,課題組進行了數據庫設計,較好的滿足了系統設計的需要,系統數據庫設計使用了Sqlserver2012數據庫系統進行開發,SQL Server2012是微軟公司發布的一款非常優秀的關系數據庫管理系統,延續了之前版本的強大能力,不僅提供了企業架構最高級別的支持,而且還提供了最高級別的可用性,可以滿足不同用戶對數據和信息存儲的需求,數據容量管理達到了數百TB的數量級,并且具備較完善的數據分析功能。SQL Server2012的版本包括企業版(Enterprise)、標準版(Standard)和精簡版(Express),該數據庫系統在保證了易用性的同時還提供了較高的安全性。
數據庫設計的目的是能夠較好地存儲系統的相關數據,針對本系統的具體情況,在數據庫中需要保存教師發布的實訓任務,實訓任務需要考慮教師發布任務的素材和附件的保存,學生上機完成的實訓作業需要考慮學生上傳的文件保存,教師發布的任務應該便于查詢和修改,學生提交的作業附件也需要保存在數據庫,并便于檢索,此外數據庫還需要保存教師、學生、班級、課程、專業、系部等信息,應該分別建立數據表保存。此外,還需要設計留言板數據表,保存學生留言和教師對留言的回復,因此數據庫設計需要實現以下的基本要求。
1)教師發布的實訓任務和學生根據實訓任務提交的實訓作業在數據庫中應該分別建立表存儲,實訓任務的素材和實訓作業的提交文件信息保存在數據庫中,但文件本身存儲在服務器的相應目錄下,數據庫只保存文件名和路徑信息。
2)系部、專業、課程信息應該分別保存在不同的數據表中,通過外鍵關聯,系部與專業是一對多的關系,專業和課程是多對多的關系,需要在數據表的設計中實現。
3)教師發布的實訓任務是針對一門課程的,但實訓任務可能是對授課的多個班級同時還發布的,因此教師和實訓任務是一對多的關系,實訓任務和授課班級也是一對多的關系,在數據庫表的設計中需要考慮。
4)在設計留言數據表的時候,需要考慮學生發布的留言后,教師未閱讀和閱讀回復的不同狀態,教師未閱讀的留言在系統中需要頂置顯示,教師回復后學生未閱讀的留言在學生登陸后也需要頂置顯示,因此需要在數據表中設計多個標記。
5)在設計數據庫中的各個數據表字段的時候,需要具體分析各個字段的類型、長度,例如學號字段需要設置為學院標準的12位,并且需要對各個表之間建立合理的主外鍵關系進行約束。
6)設計實訓考試和考試管理中,需要對考試試題、學生的考試試卷、班級考試成績進行有效保存。
數據庫設計采用SQL Server2012關系型數據庫管理系統實現。SQL Server2012是微軟開發的大中型數據庫,對于學生上機實訓考核管理系統的數據庫,采用SQL Server2012數據庫系統可以完全滿足需求。通過對用戶的需求進行分析,在數據庫中需要保存的實體信息包括下圖所示的8類,如圖1所示。

圖1 數據庫結構
在數據庫表的設計過程中,課題組采取了保證未來可擴充性和系統易用的設計原則,主要體現如下。
1)在數據表的設計中,對未來系統擴充保留余地,例如在實訓作業表的設計中,教師發布的作業要求僅需要保持文本形式的要求,還需要可以保持作業要求文件和作業素材,因此在設計中需要文本字段和其他字段,同時還需要考慮到教師可能會刪除作業,如果在數據庫直接刪除作業記錄,就可能需要刪除相關聯的學生提交作業,這樣的刪除工作會非常麻煩,因此考慮在實習作業表總添加validate字段,通過該字段標記作業的有效性,實現系統易用的目標。
2)提高數據庫的工作效率,在學生實訓作業表中,學生每次提交的作業會創建一條記錄,按照以往的設計經驗,學生提交的作業文件的保存方式都是采用將文件轉為二進制字節流保存到二進制類型的字段中,隨著日常的應用,數據庫的容量會快速增加,不利于數據訪問,因此,在本次學生實訓作業表設計中,通過將學生上傳的作業文件保存到服務器指定文件夾,將上傳文件的路徑和文件名保存到數據庫的方式。
以用戶需求分析得到的數據庫保存實體信息,分析各個實體信息之間的關系,并進行適當的關系優化,在滿足數據庫設計范式的基礎上設計如下四類數據表。
3.1 系部-專業-課程表設計
根據學院的實際系部專業設置,系部包含多個專業,同一專業包含多門課程,同時還會開設多個班級。考慮到有部分公共課是多個專業開設的,因此專業和課程的關系不是一對多的關系,而是多對多的關系,在數據庫表設計時,采用多表關聯的方式實現。具體實現采用了考慮到一個試題庫可以容納多個系部、不同專業的多門課程,并且每門課程又包含多個知識點,因此,設計了相關的四張數據表,分別是系部(department),專業(specialty),課程(course),專業課程關系(SpecialtyCourse),如圖2所示。

圖2 系部-專業-課程表設計
在課程信息表中,不包含專業信息,因此在課程表中不設置專業歸屬,專業歸屬信息保存在專業課程關系表(SpecialtyCourse)中,專業表(specialty)和課程表(course)通過專業信息表相連接,這樣做可以使一個專業對應于多門課程,還可以使一門課程(公共課)對應于多個專業,較好地實現了課程和專業的關系管理。
3.2 實訓考核相關表設計
在設計實訓考核(考試)中,設計思想是以自動組卷系統數據庫中的試卷進行考試,通過考試發布操作,在本項目數據庫中創建考試數據表,保存考試內容和考試班級信息,學生完成考試后,考試記錄保存在學生考試數據表中,由于一份試卷可以給多個班級發布考試,因此在考試表和考試班級表中,是一對多的映射關系,數據表設計如圖 3所示。

圖3 實訓考核數據表
3.3 教師-學生-實訓任務-實訓作業表設計
這些表包括學生、班級、教師信息表和實訓任務相關數據表兩類,在系統設計中用戶分為管理員、教師、學生三類,實際上管理員也是教師,因此在教師表中添加是否是管理員字段(IsAdmin),標記管理員資格。
根據需求,教師首先需要添加授課任務,然后才能向已有授課任務的課程發布實訓任務,授課任務包括講授課程和班級,因此在數據表設計中,添加了教師信息-授課課程-學生班級數據表。具體如圖4所示。

圖4 教師-學生-實訓任務-實訓作業表
教師發布的實訓作業是對一門課程的一個或多個班級的,因此在設計數據表的時候需要考慮實訓作業和實訓班級的一對多關系,通過建立實訓任務(teacherWork)-實訓任務班級管理(classWrok)-班級(studentClass)的三級關系實現一對多的映射。
在需求分析中,還需要考慮表記錄的刪除,對于實際應用來說,由于各個表有主外鍵的管理,記錄刪除是一件非常復雜的事情,例如,如果刪除一條教師信息,就需要先刪除該教師的所有授課課程信息、實訓任務,以及所有與發布實訓任務相關的學生作業,為了簡化設計,在需要刪除數據的數據表中添加了validate字段,表示記錄有效性,用戶的刪除操作僅僅修改validate字段,并不用物理刪除。
3.4 留言表設計
留言表保存的是留言板的內容,主要包括學生就某課程向教師提出的問題以及教師的解答等,教師登陸后可以在留言板中看到所有學生給自己的留言,并且未閱讀回復的留言頂置,學生登陸后可以看到自己發布的留言和教師的回復,教師新的回復頂置,因此在留言表中設置了teacherReplay、studentRead字段表示教師回復標記和學生閱讀教師回復標記,這兩個字段都是bit類型,設置默認值為false。留言板結構和關系如圖5所示。

圖5 留言表設計
在學生上機考核系統數據庫設計中,課題組不僅汲取了以往的設計經驗,而且還根據實際情況對數據庫進行優化,目前以該數據庫為基礎設計的學生上機考核系統已經開始在學院實訓中,已經于2015年9月開始在學院各個機房正式投入使用,根據兩個多月的應用情況,系統數據庫完全滿足了設計要求,可以較好地保存各類數據,系統的應用也大大地簡化了教師的工作強度,提高了工作效率。
[1]龔春亞,張國華.基于C#的題庫批量錄入算法研究[J].電腦知識與技術,2010(27):45-47.
[2]黃麗雯,陳渝光,劉巍.一種有效的試題庫框架設計算法[J].計算機應用,2000(1):60-61.
[3]王建忠,張萍,吳倩,等.考試系統中題庫量與試題量的關系研究[J]計算機應用研究,2010,8(2):18-21.
[4]王文發,王文東,劉彥保.試題庫系統建設中試題質量分析與建模[J].延安大學學報(自然科學版),2007,10(4):58-61.
[5]郭敏華,蘭雨晴,金茂忠.一種海量題庫難度系數和區分度動態優化模型[J].計算機工程與應用,2007(21):246-248.
[6]簡靖韡,吳菊花.高校在線學評教系統模塊及數據庫設計[J].電子制作,2015,22(5):23-26.
[7]李娟.排課系統中數據庫表的設計[J].科技資訊,2015,13(15):43-46.
[8]容湘萍.學生檔案管理系統數據庫設計與優化[J].軟件導刊,2014,32(12):148-150.
[9]池宗諭,ADO.NET與SQL數據庫的連接與訪問研究[J].遼寧高職學報,2015,14(2):95-96.
[10]唐健.ADO.net數據庫訪問技術及性能優化[J].電子技術與軟件工程,2015,8(21):18-21.
Application of.Net software architecture and design-patterns in automatic test paper system
CHEN Hui,ZHAO Xiao-hua
(Shaanxi College of Communication Technology,Xi′an 710018,China)
In order to Net platform to implement and adapt to a variety of databases on training management system of students of the reusability,adopts the MVC software architecture and design patterns and data access layer,and using the C# language,the system developed.By introducing the ASP.NET MVC design pattern,the system can easily switch database access,enhance maintainability and reusability of the code,effectively improve the efficiency of system development,and easy software upgrades.
ASP.NET;database design;training work;computer test;data optimization
TN919
A
1674-6236(2016)18-0004-03
2015-10-20 稿件編號:201510128
陜西交通職業技術學院院級科研項目(YJ15002);陜西高等教育教學改革研究項目(15Z26)
陳 輝(1970—),男,陜西藍田人,博士,副教授。研究方向:無線網絡和軟件開發。