賀蘊彬
摘要:文章探討了基于MySQL數(shù)據(jù)庫的在線選課系統(tǒng)的設(shè)計。通過分析基于MySQL數(shù)據(jù)庫的在線選課系統(tǒng)的實際需求,闡述了系統(tǒng)的設(shè)計思想。在探討選課系統(tǒng)總體設(shè)計的基礎(chǔ)上,對數(shù)據(jù)庫的設(shè)計原則進行了深入分析,指出了規(guī)范數(shù)據(jù)庫、規(guī)范命名的原則,對數(shù)據(jù)庫設(shè)計的重要考慮因素做了概括。對基本的數(shù)據(jù)表的構(gòu)成進行了列舉。最后,通過實例展示了選課系統(tǒng)中對數(shù)據(jù)庫操作。
關(guān)鍵詞:MySQL數(shù)據(jù)庫;在線;選課系統(tǒng)
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)05-0883-03
Online Course System Based on MySQL Database
HE Yun-bin
(Information Science and Technology Department of Zhaotong University, Zhaotong 657000,China)
Abstract: This article explores the online course system based on MySQL database design. By analyzing the MySQL database based on the actual needs of the online course system, describes the design concept of the system. Articles explore the elective system design, based on the principles of database design conducted in-depth analysis, pointing out the specification database, standardized naming principle, an important consideration in the design of the database to do a summary. Article constitute the basic data tables were enumerated. Finally, the article shows by example elective system for database operations.
Key words: MySQL database; online; elective system
在如今的信息社會,信息技術(shù)蓬勃發(fā)展,許多高校都有完備的校園網(wǎng)絡(luò),在教學(xué)、輔導(dǎo)以及測試中,發(fā)揮著重要作用。學(xué)分制的改革,以及許多教學(xué)新舉措的部署,增加了教學(xué)任務(wù)的難度,凸顯了教學(xué)管理的重要性。
現(xiàn)在,在以學(xué)分制為主導(dǎo)的課程教學(xué)改革思路的指引下,學(xué)生選課成為每一個學(xué)期初的重要環(huán)節(jié),其要求學(xué)生在一定時間內(nèi)選擇該學(xué)期要開設(shè)的所有選修課。因為選課時間較短,學(xué)生在選課時往往無法了解完整的課程體系,有時選課太盲目。學(xué)校為提升學(xué)生的自主學(xué)習和選課能力,在深入調(diào)研、廣泛探討的基礎(chǔ)上,設(shè)計出一套基于MySQL數(shù)據(jù)庫的在線選課系統(tǒng)。
1 在線選課系統(tǒng)需求分析
基于MySQL數(shù)據(jù)庫的在線選課系統(tǒng)開發(fā)目的是針對學(xué)生自主選擇選修課和加強教學(xué)組織管理。通常,該系統(tǒng)包括申報選修課、審核選修課、學(xué)生在線選課、查詢選修結(jié)果、學(xué)生信息管理、通知通告發(fā)布等功能。
基于MySQL數(shù)據(jù)庫的在線選課系統(tǒng)的功能突出表現(xiàn)為管理員、教師、學(xué)生和教務(wù)管理員的身份上。應(yīng)用者的需求主要表現(xiàn)為以下幾點:
1)提供選修課程信息并審核。
2)管理用戶信息。
3)課程的智能化推薦。
管理員具有超級用戶的權(quán)限,可以對系統(tǒng)進行全方位的管理。教師和學(xué)生分別有不同的權(quán)限,登錄后顯示出對應(yīng)的界面,然后選擇必要的操作。教師可以提供該學(xué)期要開設(shè)的選修課程,維護課程信息,管理學(xué)生選修成績等等。學(xué)生可以閱覽、查閱選修課數(shù)據(jù)庫,可以自主選課,也可以按照選題智能推薦的課程進行點選。
2 在線選課系統(tǒng)設(shè)計思想
為強化學(xué)生的自主選課能力,在線選課系統(tǒng)要存儲并處理大量的數(shù)據(jù)。所以,該系統(tǒng)以業(yè)內(nèi)常用的MySQL數(shù)據(jù)庫進行掛接,采用PHP進行程序設(shè)計,智能排列管理員設(shè)置的課程,按院系和專業(yè)構(gòu)建相應(yīng)的專業(yè)課程表,為學(xué)生提供課程介紹展示,以此實現(xiàn)選修課的自主化選擇。
3 在線選課系統(tǒng)總體設(shè)計
按照以上需求分析和設(shè)計思路,系統(tǒng)的主要子系統(tǒng)有:用戶登錄校驗子系統(tǒng)、管理員后臺維護子系統(tǒng)、教師管理子系統(tǒng)、學(xué)生選課子系統(tǒng)。
學(xué)生在系統(tǒng)中注冊后,第一次登錄要填報課程愛好調(diào)查表,提交調(diào)查表后,系統(tǒng)會匯總、整理調(diào)查表結(jié)果。為實現(xiàn)智能推薦課程和提供必要的選課建議,系統(tǒng)經(jīng)過核對信息、匯總統(tǒng)計等環(huán)節(jié)后,引導(dǎo)學(xué)生指向選課控制臺??刂婆_中可以顯示學(xué)生信息、調(diào)取選修的課程,查看選修課的得分、參考系統(tǒng)對所選修課程的建議等。依照系統(tǒng)的推薦功能,學(xué)生可以快速選課,也可以展開選修課列表進行重新選擇。每選擇一次課程,該課程就會添加到已選課模塊。選擇完課程,點擊選課結(jié)束,系統(tǒng)會對選課結(jié)果進行分析并給出選課提示。學(xué)生可以調(diào)整課程順序或再次點選課程。選課操作完畢后,系統(tǒng)結(jié)束后臺算法的運行程序。
4 在線選課系統(tǒng)數(shù)據(jù)庫設(shè)計原則
系統(tǒng)在開發(fā)之處要做好數(shù)據(jù)庫的設(shè)計,主要包括數(shù)據(jù)的內(nèi)容和數(shù)據(jù)的組織方式。數(shù)據(jù)庫的設(shè)計目標是數(shù)據(jù)庫設(shè)計的重要環(huán)節(jié)。科學(xué)合理的數(shù)據(jù)庫,要避免榮譽數(shù)據(jù),對某個記錄的定位要準確迅速,且維護方便。為了兼顧對數(shù)據(jù)庫記錄定位的速度,有要避免冗余數(shù)據(jù),對數(shù)據(jù)庫的設(shè)計采取了如下措施:
4.1 規(guī)范數(shù)據(jù)庫
對數(shù)據(jù)庫的設(shè)計,組織數(shù)據(jù)庫尤為重要,主要指在一個活多個表中存儲數(shù)據(jù)并建立關(guān)系。為了避免數(shù)據(jù)的不統(tǒng)一性,從減少冗余數(shù)據(jù)存儲的角度出發(fā),要規(guī)范數(shù)據(jù)庫。要規(guī)范命名、規(guī)范括號以及孤帆注釋等。
1)規(guī)范化命名。命名要表意,這是程序的構(gòu)成基本要素之一。如果數(shù)據(jù)庫所有字段能貼近于其功能,可以使代碼編寫者和系統(tǒng)維護者更便于理解。比如“nianling”、“shezhi”、“banji”等,可以提升系統(tǒng)的維護性,保持程序的健壯性,更為明晰系統(tǒng)之間的關(guān)系。否則,如果命名不能表達系統(tǒng)的含義,后期維護系統(tǒng)時就會困難重重。
2)代碼的大括號和縮進要規(guī)范。在設(shè)計中,常用到大括號等字符。大括號與制表符相結(jié)合,構(gòu)成規(guī)范的代碼縮進式樣,會增強代碼的層次感和邏輯感,提高程序的可讀性和復(fù)用性。
3)小括號的規(guī)范使用。代碼中也常用到小括號,其使用也要保持一致,便于代碼的維護。
4)注釋的規(guī)范。為了增強程序的易維護性和可讀性,注釋的標注是重要方式。在代碼的設(shè)計過程中,為便于開發(fā)者理清代碼邏輯關(guān)系,簡單且高效的操作就是基于關(guān)系模型的結(jié)構(gòu)化查詢語言。
4.2 數(shù)據(jù)庫設(shè)計的重要考慮因素
數(shù)據(jù)庫的設(shè)計還要考慮到下面的因素:
1)與選課過程的流程相匹配。數(shù)據(jù)庫的設(shè)計要與教學(xué)管理的課程參數(shù)相適應(yīng),選課中課程所對應(yīng)的相關(guān)數(shù)據(jù),以及對這些數(shù)據(jù)的處理方式。
2)數(shù)據(jù)庫要符合邏輯,層次合理。數(shù)據(jù)庫結(jié)構(gòu)要科學(xué)合理,容易理解,便于維護,可以高效率運行。
3)數(shù)據(jù)庫的結(jié)構(gòu)化要合理,數(shù)據(jù)庫的結(jié)構(gòu)要符合行業(yè)標準,要與編碼的使用相一致。
4)減低冗余。為了提高系統(tǒng)的運行速度,要降低數(shù)據(jù)庫的冗余度,減小開發(fā)難度,使數(shù)據(jù)庫易于實現(xiàn)。
5)數(shù)據(jù)庫要保持數(shù)據(jù)的一致性和準確性。該系統(tǒng)要面對龐大的用戶群體,會有多個用戶并發(fā)訪問數(shù)據(jù)庫,在處理數(shù)據(jù)時,可能會影響數(shù)據(jù)的一致性。所以必須對有些數(shù)據(jù)采取鎖定的措施來避免數(shù)據(jù)的不一致性。
6)確保安全機制。數(shù)據(jù)庫的用戶信息和課程的設(shè)置帶有一定的保密性,安全機制要保證。
7)良好的兼容性。為提升系統(tǒng)的可復(fù)用性和可移植性,要遵循兼容性原則。
5 數(shù)據(jù)庫中的數(shù)據(jù)表
在遵循數(shù)據(jù)庫的設(shè)計原則的基礎(chǔ)上,要考慮數(shù)據(jù)表的設(shè)計,對設(shè)計的性質(zhì)、特性要細致處理。該系統(tǒng)要包括以下數(shù)據(jù)表:
5.1 學(xué)生基本信息數(shù)據(jù)表
學(xué)校的學(xué)生管理處有所有學(xué)生的信息,其可以作為學(xué)生信息數(shù)據(jù)庫的基本表,但要留出預(yù)留字段,以備擴充。其字段主要有學(xué)生姓名、年齡、所在院系班級、性別、專業(yè)、興趣等。
5.2 選課邏輯規(guī)則表
不同的專業(yè)包括不同的課程,具有一定的邏輯關(guān)系。為了有效、規(guī)范使用這些規(guī)則,數(shù)據(jù)表要存儲這些規(guī)則。比如那些專業(yè)的學(xué)生對課程有什么特殊要求,那些專業(yè)的學(xué)生必修課程要注意什么,課程的選擇有沒有沖突等。數(shù)據(jù)表中要注意存儲規(guī)則,以備調(diào)用。
5.3 課程信息數(shù)據(jù)表
課信息數(shù)據(jù)表要包括教師提交的課程名稱、學(xué)分值、學(xué)時等信息。
5.4 選課數(shù)據(jù)表
選課的模塊與兩個數(shù)據(jù)表相關(guān),學(xué)生表和課程表。課程表在數(shù)據(jù)庫中的操作最頻繁,操作性能對全系統(tǒng)的性能影響極為關(guān)鍵。選課表的字段有ID號、學(xué)生學(xué)號、課程編號、選修成績、課程類別和備注信息。
因系統(tǒng)采用B/S結(jié)構(gòu)設(shè)計,所以瀏覽器即為結(jié)果的展示窗口。用戶在表單上輸入信息,瀏覽器將其發(fā)送給服務(wù)器,服務(wù)器的運行平臺上的程序就把信息輸入到數(shù)據(jù)庫,最后將結(jié)果返回到瀏覽器端。
6 選課系統(tǒng)中數(shù)據(jù)庫操作實例
下面以修改選修課的操作來展示對數(shù)據(jù)庫的處理過程。通過表單的值來判斷該操作是否是修改,進而調(diào)取數(shù)據(jù)庫,進行后續(xù)操作。代碼如下:
<?php
If ($_get[“bianji”]==”shan”){
Odbc_do($conn,”delete * from xuanxiubiao where id=”.$_get[“id”]);
?>
<?php
}
//修改選修課
Elseif($_post[“xiugai”]==”yes”){
If(odbc_do($conn,”update xuanxiubiao kechengbianhao=”.$_post[“kechengbianhao”].”,xuefen=”.$_post[“xuefen”].” Where id=”.$_get[“id”]){
?>
7 結(jié)束語
該在線選課系統(tǒng)是采用瀏覽器/服務(wù)器模式開發(fā)的基于數(shù)據(jù)庫的選課信息管理系統(tǒng),其邏輯結(jié)構(gòu)清晰,數(shù)據(jù)庫設(shè)計科學(xué)合理,功能的開發(fā)采用模塊化方式,縮短了開發(fā)周期,使系統(tǒng)的運行并行化。依據(jù)該模式,不同組的編程人員可以分頭進行,不至于因為其他開發(fā)者所設(shè)計的模塊沒有完成而妨礙自身所開發(fā)的模塊。這對于加快開發(fā)進程、節(jié)約開發(fā)成本有很大的幫助。系列模塊的設(shè)計科學(xué)合理,界面友好,應(yīng)用方便,數(shù)據(jù)庫的信息達到了規(guī)范化的要求,統(tǒng)計更為快速、直觀,滿足了學(xué)校教務(wù)管理的要求,強化了學(xué)生自主學(xué)習和選課的能力,提升了教學(xué)管理的效率,宜進一步推廣應(yīng)用。
參考文獻:
[1] 肖欣欣,閔兆娥.主動數(shù)據(jù)庫技術(shù)在高校智能選課系統(tǒng)中的應(yīng)用[J].科技創(chuàng)新導(dǎo)報,2011 (4):187-188.
[2] 霍云艷.關(guān)聯(lián)規(guī)則挖掘算法在選課系統(tǒng)中的應(yīng)用研究[J].中國管理信息化,2011 (14): 72-73.
[3] 何軍.基于 WEB 的智能化選課排課系統(tǒng)的設(shè)計與研究[J].價值工程,2011,30(29):137-138.
[4] 付蘇嘉.基于 ASP 的高校網(wǎng)上選課系統(tǒng)的研究與設(shè)計[J].貴州大學(xué)學(xué)報:自然科學(xué)版,2010,27(4):77-80.
[5] 柯鋼,祝衍軍,李建新,等.基于 Web 的高校選課管理系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代計算機:下半月版, 2012 (7): 53-56.
[6] 劉春爽,王志偉,國亞東,等.淺析高校公選課存在的問題及對策——以中國石油大學(xué) (華東) 公選課為例[J].中國校外教育:下旬, 2012 (5): 35-35.