本站小編為你精心準備了探析Web公式語義化的數據庫設計參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
摘要:支持web公式是題庫系統的核心技術,這對題庫維護提出了新的要求。本文就歷史上對數學公式在Web端顯示的不同解決方案及其后端數據庫的設計進行了優缺點分析,并對支持Web公式語義化的數據庫設計提出了新的方案。
關鍵詞:Web交互;公式;語義化;數據庫;題庫維護
1概述
隨著網絡技術的不斷發展,建設題庫系統成為開展網絡教育的重要手段之一。各種題庫系統被相繼提出,這也對題庫維護子系統的建設和更新提出了新的要求。目前關于高等數學的題庫系統較少,本文提出一個支持數學公式語義化的高等數學題庫系統,對數學公式在Web端的顯示和語義化數據庫進行了深入的研究與實現。
2歷史與現狀
自1994年萬維網產生以來,數學公式在Web端的交互就一直是人們研究的熱點和難題。最初大多采用圖片上傳的方式。一些人采用Word或MathType等編輯器把數學公式輸出為圖片形式保存到數據庫中并在Web端應用[1]。但是這種圖片形式的數學公式不能進行查找和索引,更重要的是沒有語義[2],這不利于信息的處理。并且圖形文件占用存儲空間較大,對數據庫的讀寫和備份造成影響,而且數據重用性能也很差。LaTex是一個科技文獻的排版系統,它雖然未采用所見即所得的編譯方式,但也一直是科技文獻排版的有效工具。在Web端也有人做成了用LaTex表示公式的系統。但對于不懂LaTex的人來說,問題依然沒有得到解決。MathML用標記的形式表示數學公式,它作為XML的子集成為數學公式在Web端交互的新的方案。MathML文檔是自描述的,這種特性使它成為數學信息的良好載體,為數據庫提供了良好的接口[3]。基于MathML的數學公式顯示和編輯方案,是在網頁上對數學公式數據進行解析并統一處理成MathML格式,最后保存到數據庫進行管理[4]。但是,MathML代碼難以在前端實現交互,在數據庫中的存儲也略顯臃腫并且未能提供有效的CSS樣式支持[4]。MathJax建立了LaTex和MathML之間的聯系,成功的實現了網頁的交互。
3系統方案
我們的系統方案如下:數學公式在Web端交互是每個數學題庫的核心。考慮到存儲的方便性,我們將數學公式轉換成形式較為簡單的latex代碼。前端設計一個UI界面,其中包含各個公式類,點擊調用對應JS函數類,將界面輸入的參數轉換成對應的LaTex和MathML代碼,并將它們保存到數據庫之中。顯示是從數據庫中調用相應的MathML代碼,直接插入到HTML文檔中。
4數據庫設計
數據庫設計是至關重要的環節,良好的數據庫設計可以為系統維護和后續開發擴展提供便捷。在設計過程中,應提供一定的可擴展性方便數據結構的更改。4.1設計方案數學題庫的數據庫設計有將整個題目存入一個表的方案,本數據庫設計的核心在于語義化的建設,因此對一個完整的數學題目按題目類型分成若干個文字部分、數學公式以及圖片部分,并對這三個部分分別建表。其中圖片部分是為了保存題目可能給出的示意圖。同時,對每張表都添加了主鍵,以及通過外鍵約束規則來保證數據完整性。采用分開存儲建表的方案具有如下特點:
4.1.1對數據庫進行了優化,使性能更強。當數據庫中的表越小時,在它上面執行的查詢也會越快。因此,相比于將一整個題目存到一個表里,按部分分開存提高了一定的性能。并且,在數據類型的選擇上也做了優化,盡量使用可以正確存儲數據的最小數據類型[6],并設置了相對較小的字段屬性,使得查詢更快。
4.1.2更好地體現了語義化,將數學公式單獨存放使語義化的解析更加明晰。
4.1.3使數據庫表的結構更為統一。由于解答題、選擇題等題目類型可能存在示意圖,題目和圖片本就應該分開存放,將題目再次分為文字部分和公式部分,可以使表的結構整齊,易于閱讀維護。
4.1.4方便Web端對樣式的控制。由于文字和數字、公式在Web端顯示的大小、字體、行距不一致,將其分開存放便于對樣式的控制,使Web端顯示出的公式更為美觀。
4.1.5體現了良好的可擴展性。本方案目前在后端數據庫存放的是公式LaTex代碼,同時在題目公式表中也存放了MathML格式。由于公式與題目文字分開存放,在后期研究數學公式在摘要:支持Web公式是題庫系統的核心技術,這對題庫維護提出了新的要求。本文就歷史上對數學公式在Web端顯示的Web端交互的其他方案,可以直接存入不同格式的代碼以尋求更優解,例如我們同時已經存放了公式MathML格式。這樣,語義化就更容易實現了。數據流圖是通過圖形的方式來描繪信息流和數據從移動到輸出的過程中所經受的變換[5]。數據流圖可以很好地顯示主要數據流數學公式如何通過系統前進以及被存儲在何處,其數據流圖,如圖1所示。
4.2數據庫表的設計
通過對題庫系統的業務分析,設計了錄題表、題庫表、題目文字表、題目公式表、用戶信息表、錄題員表、公式表、特殊符號表等8類表。其中錄題表保存的是已錄入的題目,經過審核后放入題庫表中;公式表和特殊符號表存放的分別是不同公式模版及各種特殊符號的LaTex代碼。下面分別給出題庫表、題目文字表、題目公式表這三張核心表的數據庫表結構。
4.2.1題庫表題庫表是整個系統最核心的表,用來保存錄入并通過校對的題目。題庫表結構設計如表1。
結束語
本文介紹了一種能夠便于數學公式在Web端交互的題庫方案的數據庫設計,該設計使Web交互與題庫維護更加便捷,且為后續語義化應用打下了良好基礎。
作者:王則棟 張磊 李滕飛 王宇璐 王抵修 單位:吉林建筑大學