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