劉端陽


摘? 要:目前,教務管理的信息化已經普及,并且越來越完善,集選課、作業批改、成績管理于一體的教務管理系統已經非常多見。然而實驗教學因其相對于理論教學的特殊之處,為了達成同樣級別的信息化管理,需要建立有別于理論教學的獨立的實驗教學管理系統。由于這樣的系統的特殊之處,這樣的系統往往需要相應的實驗中心自己給出一套數據。筆者根據自己在北京化工大學大物實驗中心建立實驗成績管理系統的實踐,結合數據庫的理論,總結成此文,希望能給相關研究提供一些借鑒參考。
關鍵詞:物理實驗? 教學管理? 信息化? 數據庫
中圖分類號:TP315 文獻標識碼:A 文章編號:1674-098X(2021)07(a)-0158-04
Establishment and Maintenance of Database of Physics Experiment Teaching Management System
LIU Duanyang*
(College of Mathematics and Physics, Beijing University of Chemical Technology, Beijing, 100029? China)
Abstract: At present, the informatization of educational administration management has been popularized and more and more perfect. There are many educational administration management systems integrating course selection, homework correction and achievement management. However, due to the particularity of experimental teaching relative to theoretical teaching, in order to achieve the same level of information management, it is necessary to establish an independent experimental teaching management system different from theoretical teaching. Due to the particularity of such a system, such a system often needs the corresponding experimental center to give a set of data. According to the author's practice of establishing the experimental achievement management system in the big physics experiment center of Beijing University of Chemical Technology, combined with the theory of database, this paper is summarized, hoping to provide some reference for relevant research.
Key Words: Physics experiments; Educational administration management; Informatization; Database
到目前為止,各大高校幾乎都實現了教務管理的信息化,建立了各類教務管理信息平臺,學生可以在平臺上選課,查看成績,甚至提交和查看作業,教師和教務管理人員可以在網上管理教學事務,學生成績等[1-6]。然而,實驗教學有其特殊之處,在于實驗課程因為涉及到儀器管理、實驗室分配、實驗中教師學生實驗室等的輪換等問題,與理論課程并不完全相同,專門為理論課程設計的教學管理信息平臺會有很多不適合實驗課程的地方[7],建立獨立于理論課程的實驗教學管理平臺已經是目前的發展方向。在此期間,并不是所有的高校都已經能夠實現自己的實驗教學管理平臺,即使已經建立了相應平臺的高校,也面臨如何維護數據的問題,本文作者根據自己在教學中的實踐,以物理實驗為例,對如何建立便于在實驗教學管理平臺中,乃至在實驗課程教學中使用的數據庫提出自己的一些經驗和建議。
1? 實驗教學管理平臺的普遍功能及其數據需求
通常的教學管理平臺,應該要能夠實現學生、教師和管理人員的登錄,并實現各自相應的功能。比如學生要能夠查看上課信息、提交作業、查看成績等;教師要能夠查看自己的課表、發布作業、批改作業和管理成績,管理人員則要能查看和管理所有的人員、課程等信息。對于實驗課程來說,更特殊的是學生和教師都能夠看到自己每一次課程所對應的實驗的實驗室、實驗項目、實驗儀器、實驗講義、教學視頻和實驗室輔助人員等信息,如果是學生自由選課,還需要能夠有管理人員發布待選實驗課程和學生選課等界面。本文并不是討論這些功能的具體實現,而是討論為了建立或者維護這個平臺,實驗中心需要提供的數據信息。
首先,需要有每一位學生、教師和實驗室輔助人員的信息,既是日常的信息維護,管理平臺也需要每隔一段時期,例如每個學期為新添加人員建立賬號。然后,與普通的理論課程類似,也需要每一門課程的信息,同時這里也需要每一位學生是否選修某一門課程,每一位教師是否執教某一門課程的信息。與理論課程不同,還需要每個實驗項目的信息,以及每個實驗項目是否屬于某一門實驗課程的信息與每個學期的實驗具體安排表,即每個開課時間段,教師、學生和實驗項目的對應表。
2? 實驗數據庫建立和維護的原則
由于我們建立的數據庫不僅是為了實驗中心自己查看管理,更是為了供實驗教學管理平臺調用,所以數據庫的設立應該遵循現代數據庫設立的一些基本原則。在數據的存儲發展歷史上,平面文件這種單獨的、沒有關聯的文件的集合這種形式已經早就被淘汰,采用一組邏輯相對一致的、相互關聯的數據文件的集合,以便被應用程序調用早已經成為主流的形式,這種數據的集合被稱為數據庫。在數據庫的發展歷史上,又經歷過層次模型、網狀模型為主流的歷史時期,而現在,最為常用的是被稱為關系模型的數據組織結構。
所謂關系,就是二維表格,每一個二維表格,稱為一個關系,有唯一的名稱,如學生信息、教師信息、學生選課等,關系的每一列都稱為屬性,用此列的頭來標識,如學生信息中有學號、姓名、班級、郵箱等屬性。關系的一行,稱為元組,例如在學生信息中,一行對應一個學生的基本信息,也可以稱為關系中的一條數據。關系模型之所以稱為目前數據庫中的主流,是因為其簡單形象,而且在遵從數據庫的規范化原則,即一定的范式的基礎上,關系數據庫非常便于應用程序執行各種管理操作。實質上,目前對于數據庫文件的管理操作,已經有定義好的標準語言,即為結構化查詢語言(Structured Query Language,簡稱SQL),它定義了插入、刪除、更新、選擇、并、交、差等各種操作。很多操作的名字都很好理解,這些操作也都是數據庫管理中往往不可避免需要使用的,本文并不涉及到教學管理平臺應用軟件的實現,因此不在此詳細討論SQL。為了便于應用程序實現SQL的這些操作,實驗中心提供的數據庫應該遵循數據庫建立的規范化原則,即范式。
已經有很多種范式被提出來,包括1NF、2NF、3NF、BCNF、4NF、PJNF和5NF等。這些范式本身具有一定的層次結構。以數字命名的一系列范式為例,這種層次結構指的是,數字越高的范式,要求越嚴格,符合數字更高的范式的數據庫關系,那么一定符合數字更小的范式。例如若一個數據庫關系符合3NF,那它一定符合1NF和2NF,反之則不然。
1NF指的是關系里的每個屬性都不可以再被分割,或者更直白地說,任何一行和任何一列的交點處的值都應該是唯一的。以學生所選實驗課程的關系為例,一名學生可能同時選擇了多門實驗課程,那么有可能實驗中心會在這名學生“所選課程”這一屬性中同時寫上多門實驗課程,或者在這一屬性下再列“課程1”“課程2”,這樣的屬性是不可取的,不符合1NF的原則,對數據庫的使用和維護帶來很多問題。例如,這名學生退選了其中的某門實驗課程,我們無法通過刪除某一條記錄的方式來解決問題,而實際的數據庫系統中,總是刪除一整條記錄,而非記錄的一部分,因為這樣的方式簡潔有效。所以在此情況下,正確的方式是,對同一名學生,可以建立多條選課記錄,每一條記錄只存儲這名學生選修的一門實驗課程,這樣就符合1NF范式了。1NF是所有關系數據庫最基本的要求,幾乎所有關系數據庫都應該符合此范式要求。
為了說明2NF范式,我們可以設想一下,上述的學生選課的數據文件,大家最自然的想法是,學生的所有基本信息和選課信息都放在同一個文件中,比如該文件的各列分別是“學號”“姓名”“班級”“Email”“選修課程”“分數”等。然而結合1NF范式要求,很快就能發現問題,當某個學生選修了多門課程的時候,涉及這名學生的多行記錄中“姓名”“班級”“Email”等信息顯然有冗余。所以正確的辦法應該是將學生的基本信息作為一個關系文件,里面的屬性應該是“學號”“姓名”“班級”“Email”,學生的選課信息作為另外一個關系文件,里面只有“學號”“選修課程””分數”,這樣就沒有冗余的數據了。可以看出來,在學生的基本信息中,“學號”可以唯一確定一條記錄,該記錄中的其他屬性都完全由學號確定;而學生的選課信息中,需要同時由“學號”和“選修課程”才能確定一條記錄,“分數”同時依賴這兩個屬性決定。學生基本信息中的“學號”,學生選課信息中的“學號”和”選修課程”,稱為關系中的關鍵字,或稱主屬性或者主值,其他屬性稱為非主屬性。2NF范式是指所有的非主屬性都必須要有所有的主屬性才能唯一確定,若可以由部分主屬性確定某個非主屬性,則不符合2NF范式。很顯然最開始的符合表格中,“姓名”“班級”“Email”是不符合2NF范式要求的。由例子可以看出,2NF范式可以消除冗余,而消除冗余,可以在修改某個非主屬性,例如,學生轉班需要修改“班級”屬性時,只需要修改一個地方就可以了,顯然對使用和維護數據庫有極大的意義。
下文以教師的課表這個關系文件為例,來另外一個問題。很有可能我們會把這個關系文件設定成這樣,關系的屬性分別為”教師工號”“上課時間”“周次”“實驗”“實驗教室”等。這個關系文件作為給教師本人看的課表,是相當不錯的,然而作為給教學管理平臺軟件使用的數據庫文件,它是有問題的。首先可以知道,這個關系的主屬性是“教師工號”“上課時間”“周次”,所有這4個屬性才能唯一確定一條記錄。“實驗”和“實驗教室”是非主屬性。但是很顯然,一般的實驗中心,實驗和實驗教室是綁定的,上述這樣的關系文件中,會有很多的“實驗”和“實驗教室”同時出現的記錄,同一個實驗也很可能出現很多次數。這樣一旦實驗中心對實驗所在的實驗教室做出調整,那么這個關系文件中的許多條記錄就必須同時修改,給數據庫的使用和維護帶來極大的困難。正確的方式是建立一個實驗項目的關系文件,在此關系文件中,可以有“實驗名稱”和“實驗教室”兩條屬性,將它們對應起來,而原來的教師課表關系文件中,只保留”實驗”和”實驗教室”中的一條。上述問題出現的原因是,雖然“實驗”“實驗教室”兩條非主屬性都符合2NF的要求,需要所有的主屬性確定,但是同時,“實驗教室”和“實驗”這兩條非主屬性間也有依賴關系。3NF范式要求,非主屬性間不可以有依賴關系,這樣就可以消除上述出現的問題。
一般來說,實驗教學管理平臺的數據庫,滿足3NF范式即可,不需要再追求更嚴格的范式關系了。這樣已經足夠使用,不會帶來太大的問題。甚至有些時候,可以為了關系文件的可讀性,可以再違反一點點范式要求,例如在教師課表這樣的文件中,可以加上”姓名”這一條,很顯然其實這個已經違反了2NF范式要求,但是如果確信教師不會改名,如前分析,這也不會帶來額外的問題,同時增加了關系文件的可讀性。不過類似的事情,需要小心又謹慎,例如萬一很多老師改名了,這就會是個大麻煩。
3? 物理實驗數據庫的示例及說明
關系模型中的關系,就是二維表格,因此從直觀上理解和從現實實現來說,最簡單的就是想到使用Excel文件來作為關系存儲文件。從嚴格的數據庫理論來說,這并不完全正確,實際的關系數據庫存儲,只是在人機交互的層面上是以二維表格的形式展示的。不過各物理實驗中心沒有必要去追究這些技術細節,我們以Excel的形式,按照數據庫的3NF原則提供各種關系數據文件,以供物理實驗教學管理平臺作為輸入輸出文件,并不會有任何的問題,相反會大大降低程序處理的難度。
根據上一節介紹的原則,在建立物理實驗課程的數據庫時,我們應該首先建立各類數據的基本信息的關系,從筆者的使用實踐來說,通常這包含學生、任課教師/助教、實驗課程和實驗項目等的基本信息關系文件。這種基本信息文件,通常主屬性都只有一個,可以唯一確定一條數據對應的實體對象,如學生的學號、教師的工號、實驗課程的課程代碼等,對于實驗項目,可以內部設定編號。至于各實驗中心或教學管理平臺需要涉及的是這幾類實體對象的那些非主屬性,則需要根據實際情況來確定,絕大部分情況下,相應數據應該可以從教務處或者學院的系統中獲得,其他一些關于實驗的數據,需要實驗中心自己整理。在表1中,以實驗項目為例展示了一個實例。
接下來,需要各類實體之間的相互關聯的數據的關系表格,如學生選課、教師代課、開課時間、課程包含實驗項目等。如上一節示例所述,各實體間往往是一對多或者多對多的復雜關系,例如,學生選修多門課程,教師多個時間上課,實驗項目和課程間關系可能是多對多等,為了后續處理數據的簡單可靠,需要遵循3NF范式,所以不能把這些數據都放在相應的實體的基本信息表格中,而需要根據實際需要建立各種關聯的數據庫文件。在表2中,以實驗項目和實驗課程的關系為例展示了一個實例。
最后,筆者希望通過本文,能夠為已經或者打算建立物理實驗教學管理平臺的各兄弟院校,在實驗中心數據管理方面提供一定的參考。這里的關鍵就是,遵從關系數據庫的3NF范式,簡單來說就是盡量減少冗余數據,這樣對修改和維護數據有很大的幫助。具體到物理實驗,就是對學生、教師、課程和實驗項目等各類實體對象分別建立基礎信息的關系文件,然后再對根據實際情況建立關聯的兩兩實體對象建立關聯的關系文件,至于建立關系文件的方式最簡單的就可以使用Excel表格的形式。
參考文獻
[1] 劉暢,周格冰.高校教學管理系統設計與開發[J].知識經濟,2019(30):122-124.
[2] 李茜,蘇寒松.高校實驗室教學管理系統設計與實現[J].實驗室科學,2021,24(1):49-56.
[3] 陳龍,陳婷.基于Web的教學管理系統[J].軟件,2021,41(3):168-173.
[4] 胡蓉.計算機技術在高校教學管理中的運用分析[J].科技資訊,2021(5):69-71.
[5] 吳蔚.教務網絡管理系統在高校教學管理工作中的運用[J].才智,2021(2):116-118.
[6] 孫玲玲.教學信息管理系統架構與實現[J].電子測試,2020(8):70-71.
[7] 吳晶晶.基于實驗室管理系統的設計性實驗平臺的建構與研究[J].信息技術與信息化,2018(6):175-176.