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