数据库技术在科研管理系统中的应用
2010-11-25肖红玉
肖红玉,黄 静,陈 海
XIAO Hong-yu, HUANG Jing, CHEN Hai
(北京师范大学 珠海分校 信息技术学院 ,珠海 519015)
0 引言
在高校的科研管理部门中,传统的管理科学研究活动的方法是使用微软的office办公软件,在excel中手动输入、更新、维护数据。这样的管理办法,在一定程度上能满足需求,但是随着科研活动的日益增多和时间的延续,数据量越来越大,数据的复杂性也在增加,在这种情况下,单纯依靠office软件进行科研活动的管理就显得力不从心了,并且这样也不利于科研活动的数据与学校其他办公系统间数据的共享。随着数据库技术的发展,大量数据的操作、管理、维护变得容易起来,这就为科研活动的管理提供了良好的技术支持。本文将简要讲述科研管理系统的需求,并结合现在成熟的数据库技术,为科研管理系统的实施进行详细的讲解。
1 数据库管理系统介绍
目前的数据库管理系统(RDMS)已发展的非常成熟,各个常见的RDMS都具有高性能、多线程、多用户等特点,能够达到快查询数据、高可靠性、易用性、灵活的扩展性等要求。RDMS通常具有一定的层次结构,包括主子系统和辅助部件等。主子系统和辅助部件之间相互配合、读取、分析数据和执行查询,从而完成数据管理的任务。主子系统一般包括以下五个部分:查询引擎、存储管理器、缓冲存储器、事务管理器、恢复管理器等。这五个部分是RDMS的主体,它们各自完成各自的功能,从而保证了整个数据管理任务的进行。
1.1 查询引擎
查询引擎用于对数据进行复杂的查询检索,它的工作可分为三个部分:语法分析、查询优化和执行查询。首先,查询引擎要对结构化查询语言(SQL)进行分析,讲SQL指令解读成RDMS能识别的形式。接下来,为达到高效性,RDMS会对查询语句进行优化,从而生成最高效的查询执行计划。最后,进行查询执行,向用户返回符合条件的记录。在注意的是,在查询执行时,RDMS还会对用户的权限进行检查,以确保用户具有获取记录的权限,这样就保证了数据的安全性。
1.2 存储管理器
数据最终都是以文件的形式存储在文件系统中,将数据转化为操作系统能识别的文件形式,就是存储管理器的工作。
1.3 缓冲管理器
缓冲管理器处理所有在查询引擎和存储管理器数据请求中引起的内存管理问题,用于提高数据的查询速度。在进行数据查询时,往往会存在重复的数据查询,如果每次都对查询管理器进行请求,就浪费了资源,同时效率也不高。在RDMS中,缓冲管理器会将查询返回的记录存储到高速缓冲存储器中,这样当下次有相同的记录被查询时,直接从高速缓冲管理器中读取数据,不需要再次进行数据库查询。
1.4 事务管理器
当多个用户同时读写相同的记录时,往往容易引起混乱。事务管理器的任务就是提供一定的机制,确保多个用户有序的访问、修改同一记录,从而保证数据的一致性。
1.5 恢复管理器
用户操作、RDMS、甚至操作系统本身都有可能出现错误,因此,恢复管理器的存在就显得非常必要。当出现不当操作时,恢复管理器能数据库回滚到之前正常的状态。
数据库管理系统已发展的非常成熟,对数据处理的高效性、稳定性、可恢复性都能得到保障,这就为科研管理系统的部署实施提供了强有力的技术支持。
2 科研管理系统模块划分
高校的科研管理系统作为涉及到多个部门、众多角色的管理系统,其功能比较复杂,模块比较多,因此,进行清晰地模块划分就显得十分必要。科研管理系统主要可分为如下几个模块:
公共信息管理模块。公共信息模块主要用于管理在网络上发布的新闻、政策、材料文件等。科研管理系统的管理员登录后,可以进行公共信息的发布、修改、删除等操作,一般用户具有阅读下载的权限。
管理机构信息模块。科研管理部门作为高校的一个部门,起部门结构、人员调整等都会影响到科研活动的进行,因此,需要有管理机构信息模块来更新科研部门的信息。
学术活动信息模块。高校可能经常会有学术讲座、科技比较等活动信息,学术活动信息模块就是用于发布、修改这样的学术活动信息。
科研项目信息管理。科研项目是指所有正在计划的、正在进行的、已经完成的项目,在这个模块,科研活动人员可以根据项目的进度,及时的更新项目的信息,从而使项目信息保持在最新状态,便于科研管理部门对项目进行宏观管理。
科研成果信息管理。有五个方面的科研成果:论文、著作、鉴定成果、获奖成果、其他成果。
科研机构管理。科研机构信息包括科研机构的相关信息、相关人员信息等。
科研绩效管理。主要是设定科研绩效考核指标,提供考核成绩的查询和统计。由科研管理人员依权限进行操作,科研工作人员依权限查询。
有了清晰的模块划分,就能进行详细的系统设计和数据库设计了。
3 数据库设计
现在应用的比较成熟的数据库管理系统是关系数据库管理系统。在关系数据库中,数据在存储在数据表中的。可以把一个实体信息设计成一张数据表,实体的唯一性约束可以通过设定表的主键来实现,多个实体间的关联可以通过表间的外键来联系在一起。数据库设计需要根据科研管理系统所设计的实体信息确定所需要的数据表,并根据实体的属性,确定数据表的主键、外键。
经过详细的设计,可确定科研管理系统设计到如下数据表:
鉴定专家表,用来描述科研管理部门的科研鉴定人员的信息。包含如下字段:专家编号(主键)、性别、出生日期、部门编号、所学专业、现从事专业、职称编号、备注。
科技著作表,用来描述著作信息。包含如下字段:著作编号(主键)、著作名称、图书编号、职工号、著者角色、部门、出版社、学科、出版时间、版次、备注、审核状态。
审批意见表,用来描述对科研活动、著作的审批信息。包含如下字段:序号(主键)、记录序号、审核类别、审核意见。
部门表,包含如下字段:部门编号(主键),部门名称。
新闻表,用来描述发布的新闻、公告、政策性信息。包含如下字段:序号(主键)、新闻类别、新闻标题、发布人、发布日期、新闻内容。
科研论文表,用来存储论文信息。包含如下字段:论文编号(主键)、期刊号、论文标题、第一作者、其他作者、部门序号、刊物名称、刊物编号、刊物级别、主办单位、发表日期、备注、审核状态。
项目表,用来存在所有正在计划的、正在进行的、已经完成的项目信息。包含如下字段:项目编号(主键)、项目名称、项目来源、项目类别、部门名称、项目负责人、参与人员、立项时间、拟定期限、经费金额、审核状态、审核时间、审核单位、备注。
项目类别表,用来存储项目分类信息。包含如下字段:类别编号(主键)、类别名称、备注。
科研成果表,用来存储科研成果信息。包含如下字段:成果编号(主键)、成果名称、成果类别、成果级别、获奖日期、获奖人、所在部门、证书号、授奖单位、备注、审核状态。
科研成果类别表,用来存储科研成果类别信息。包含如下字段:类别编号(主键)、类别名称、备注。
科研人员表,用来存储科研人员信息。包含如下信息:人员编号(主键)、性别、职称、电话、出生日期、姓名、所学专业、现从事专业、学历、部门、备注、审核状态。
用户表,用来存储科研管理系统所涉及的用户信息。包含如下字段:用户编号(主键)、姓名、性别、密码、部门、备注。
4 数据仓库
存储在数据库中的信息是结构化的,包含了很多有用的信息,如果对这些信息加以分析、挖掘,就能提炼出更多的有意义的统计信息。具体到科研管理系统,我们更根据以往的项目规模、人员编配、项目进展情况,分析出正在计划中的项目的进度安排。正是由于数据仓库带来的如此有用的信息,有必要对数据仓库进行专门的讲解。
4.1 数据仓库与传统数据库的区别与联系
数据仓库与传统数据库攒在一定差别,但是他们之间也是有联系的。数据库里存放的是结构化的数据,这些数据时数据仓库的基础。数据仓库的建立不是对数据库的取代。 数据库和数据仓库是应用于不同的层次: 数据库应用于日常的数据处理、而数据仓库用于高层的决策分析。如果说传统数据库系统的重点与要求是快速、准确、安全、可靠地将数据存进数据库中的话,那么数据仓库就是准确、安全、可靠的从数据库取出数据,经过加工转换成有规律信息之后,再供管理人员进行分析使用。
4.2 数据仓库设计
数据仓库的设计主要确定存储结构、索引结构、存放位置、存储分配。
4.2.1 存储结构
一个数据库管理系统往往提供了几种存储结构,这些存储结构各有不同的特点是使用的方向,可供设计人员选择。数据仓库的数据是基于数据库管理系统的,在目前广泛应用的关系数据库管理系统中,数据存储于相互关联的数据表中。设计这些数据表是数据仓库的关键。设计良好的数据表、严格的主键外键关联关系,能给数据仓库的应用带来极大地便利。有时,为了提高数据存储、检索的效率,还可以对数据量较大的数据表进行划分。
具体到科研管理系统,我们已经在本文的第四个部分,进行了详细的数据库设计。为了提高数据仓库的效率,我们可以对项目表、科研成果表这些数据量较大的数据表按照时间、或者其他划分策略进行划分。
4.2.2 索引策略
索引能提高数据的读取数据,也会降低数据更新的速度,因此在进行索引设计时,要格外慎重。数据仓库的数据一般不需要维护,因为比较适合于建立索引,来提高查询速度。
4.2.3 存储分配
确定存储分配主要是对数据库管理系统提供的一些存储分配的参数进行物理优化处理,如数据块的尺寸、缓冲区的大小和个数等,一般要在对服务器和系统软件进行实际调试后确定出来。对于科研管理系统来说,如果数据量大,可以采用分布式存储方案,一遍均衡各个服务器的负载。
5 结论
本文首先接受了目前的数据库管理系统的子系统划分,说明了数据库管理系统能为科研管理系统提供的服务。接下来,详细的描述了科研管理系统的模块划分,在这些模块划分的基础上,抽象出了科研管理系统所涉及的实体,并根据这些实体,完成了系统的数据库设计。最后,通过介绍数据仓库的概念和设计方法,将数据库的中的信息加以整理、分析,以供高层进行决策分析,将科研管理系统的应用提供了一个层次。将数据库技术应用到科研管理系统,能为高校的科研活动带来极大地便利,能促进科研活动的高效、顺利进行,将为学术活动注入新的活力。
[1]丁鹏飞.高校科研管理网络信息平台设计与应用.科协论坛,2008.
[2]Papadias,Dimitris Tao,Indexing spatio-temporal data warehouses,CSE Conference Papers,2002.
[3]Kalnis,Panagiotis,Static and dynamic view selection in distributed data warehouse systems,CSE Doctoral Theses,2002.