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