您现在的位置: 新晨 >> 设计论文 >> 数据库设计论文 >> 正文

探析Web公式语义化的数据库设计

2021/10/20 阅读:

摘要:支持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交互与题库维护更加便捷,且为后续语义化应用打下了良好基础。

作者:王则栋 张磊 李滕飞 王宇璐 王抵修 单位:吉林建筑大学

探析Web公式语义化的数据库设计

2021/10/20 阅读:

推荐度:

免费复制文章