文/宋艷
隨著互聯(lián)網(wǎng)和信息社會的迅速發(fā)展,傳統(tǒng)的課堂教學(xué)已經(jīng)越來越無法滿足高校教學(xué)的需求,隨著智能手機的普及,使用互動式的移動學(xué)習(xí)平臺作為課堂教學(xué)的補充,可以較好的解決課堂教學(xué)時間有限、純填鴨式教學(xué)方式等問題,數(shù)據(jù)庫作為平臺的基礎(chǔ),做好數(shù)據(jù)庫的設(shè)計十分必要。
需求分析簡單地說就是分析用戶的需求,它是設(shè)計數(shù)據(jù)庫的起點,這一階段需要了解移動學(xué)習(xí)平臺的功能需求、數(shù)據(jù)需求、處理需求、安全性和完整性要求,確定使用該平臺的用戶以及他們的業(yè)務(wù)需求。
現(xiàn)階段的移動學(xué)習(xí)平臺較多,但專注于高校教學(xué)的較少。本移動學(xué)習(xí)平臺以服務(wù)高校教學(xué)為出發(fā)點,為配合高校教學(xué)的使用,學(xué)習(xí)平臺注重學(xué)生和教師的交互過程,使之能真正將平臺應(yīng)用于平時的教學(xué)過程中,因此在平臺的分析設(shè)計階段需要充分考慮高校教學(xué)及數(shù)據(jù)存儲情況,平臺的基礎(chǔ)數(shù)據(jù)要考慮與學(xué)?,F(xiàn)有數(shù)據(jù)的兼容性,以滿足后期平臺的基礎(chǔ)數(shù)據(jù)可以直接從學(xué)?,F(xiàn)有的數(shù)據(jù)庫中導(dǎo)出。
平臺分為教師、學(xué)生和管理員三種用戶,其中教師用戶主要完成對課程的各種學(xué)習(xí)資源的管理功能,包括添加、修改、刪除和查詢教學(xué)大綱、授課計劃、教學(xué)PPT和教學(xué)視頻等資源,能發(fā)布學(xué)習(xí)任務(wù),發(fā)布測試內(nèi)容、導(dǎo)出成績、回復(fù)學(xué)生留言等功能;學(xué)生用戶主要完成查看完成教學(xué)任務(wù)、在線學(xué)習(xí)、在線練習(xí)、在線測試和在線交流等功能;管理員用戶主要完成對院系、專業(yè)、班級、課程、教師、學(xué)生、公告等平臺運行所需要的基礎(chǔ)數(shù)據(jù)的管理功能。
E-R圖也稱實體-聯(lián)系圖,是表示數(shù)據(jù)對象及其關(guān)系的圖形語言機制,提供了表示實體類型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。在學(xué)習(xí)平臺需求分析階段產(chǎn)生的需求說明書的基礎(chǔ)上,把它們抽象為一個不依賴于任何具體機器的信息世界的數(shù)據(jù)模型,即概念模型,先分析需要哪些實體,再分析實體中需要的屬性,最后分析出實體和實體之間的聯(lián)系,平臺涉及到的部分E-R圖如圖1所示。圖1中僅列出了學(xué)生和教師主要用于交互的任務(wù)、測試和留言三個實體以及他們之間的關(guān)系,其他實體以及其屬性因為下面的邏輯結(jié)構(gòu)中已具體列出相應(yīng)的關(guān)系模式,所以就未在E-R圖中一一畫出。
圖1:部分E-R圖
數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計就是把概念設(shè)計階段設(shè)計好的E-R圖中的實體、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)化為數(shù)據(jù)庫支持的關(guān)系模式,然后根據(jù)具體數(shù)據(jù)庫管理系統(tǒng)的特點和限制轉(zhuǎn)換為指定數(shù)據(jù)庫管理系統(tǒng)支持下的數(shù)據(jù)模型,最后進行優(yōu)化。根據(jù)以上分析,平臺所需要的關(guān)系模式如下:
管理員表(編號,姓名,密碼);
院系表(編號,名稱);
專業(yè)表(編號,名稱,院系編號);
班級表(編號,班級名稱,專業(yè)編號);
學(xué)生表(學(xué)號,姓名,密碼,年級,班級編號,聯(lián)系方式);
教師表(編號,姓名,密碼,院系編號,聯(lián)系方式);
課程表(編號,課程名稱,學(xué)時,學(xué)分);
學(xué)期表(編號,學(xué)期名稱);
上課班級表(編號,課程編號,班級編號,上課學(xué)期,上課教師編號);
公告表(編號,公告內(nèi)容,公告時間,公告發(fā)布人編號);
課程詳情表(編號,課程編號,上課教師編號,教學(xué)大綱,教學(xué)計劃);
課件表(編號,課程編號,課件名稱,上傳人編號);
教學(xué)視頻表(編號,課程編號,視頻名稱,上傳人編號);
題目類型表(編號,名稱);
練習(xí)題庫表(編號,題目內(nèi)容,題目類型編號,選項A,選項B,選項C,選項D,正確答案,課程詳情編號,章節(jié),發(fā)布教師編號);
測試套題表(編號,名稱,課程詳情編號,總題數(shù),總分?jǐn)?shù),測試時間,測試開始時間);
測試題庫表(編號,測試套題編號,測試套題序號,題目內(nèi)容,題目類型編號,選項A,選項B,選項C,選項D,正確答案,分?jǐn)?shù));
測試班級表(編號,班級編號,測試套題編號);
學(xué)生測試表(編號,學(xué)號,測試套題編號,測試題庫序號,學(xué)生答案,是否正確,得分);
測試成績表(編號,學(xué)號,測試套題編號,成績);
任務(wù)表(編號,任務(wù)內(nèi)容,上課班級表編號,發(fā)布教師編號,任務(wù)開始時間,任務(wù)結(jié)束時間);
學(xué)生任務(wù)表(編號,學(xué)號,任務(wù)編號,任務(wù)狀態(tài));
留言表(編號,留言內(nèi)容,留言時間,留言人編號);
回復(fù)表(編號,回復(fù)內(nèi)容,回復(fù)時間,回復(fù)人編號,回復(fù)留言編號)。
平臺選擇MySql作為數(shù)據(jù)庫管理系統(tǒng),按照上面分析的關(guān)系模式,結(jié)合MySql特征,考慮每個屬性的類型、長度、是否為空、是否主鍵、是否外鍵等因素,創(chuàng)建出相應(yīng)的數(shù)據(jù)庫表。因為涉及到的表較多,表和表之間的關(guān)系較復(fù)雜,創(chuàng)建過程中要設(shè)置好外鍵、相關(guān)的約束關(guān)系以及相關(guān)的觸發(fā)器。
以教師發(fā)布測試內(nèi)容為例,當(dāng)教師發(fā)布測試套題后,相關(guān)的測試內(nèi)容會在對應(yīng)的學(xué)生表中生成相應(yīng)的記錄,為簡化開發(fā)程序代碼,有部分功能將由數(shù)據(jù)庫的存儲過程或觸發(fā)器來完成,流程如下:教師先創(chuàng)建一個測試套題(相當(dāng)于試卷),然后再添加題目進去,此時測試題庫表中的測試套題編號為測試套題表的外鍵,當(dāng)教師選擇相應(yīng)班級發(fā)布測試套題后,測試班級表會添加相應(yīng)記錄,而學(xué)生測試表中也需要為班級中的每個學(xué)生生成相應(yīng)的試卷,這一過程將由觸發(fā)器來完成,觸發(fā)器部分代碼如下:
一個穩(wěn)定、完善的學(xué)習(xí)平臺離不開數(shù)據(jù)庫的支持,本文根據(jù)交互式移動學(xué)習(xí)平臺的需求,基于MySql設(shè)計了數(shù)據(jù)庫,數(shù)據(jù)庫設(shè)計體現(xiàn)了便捷性和實時性等要求,并具有一定的擴展性。