计算机数据库设计相关论文(2)
计算机数据库设计相关论文篇二
《计算机基础课无纸化考试系统的数据库设计》
摘要:随着计算机技术的不断发展,考试技术也在相应的改革和进步,无纸化考试趋势变得越来越明显。论文从考试系统数据库需求出发,对考试系统数据库进行了简要的设计,同时描述了系统数据库连接的实现代码以及考试系统数据库安全性设计。对计算机基础课无纸化考试系统的设计能够提供一定的参考价值。
关键词:无纸化考试系统;数据库;设计
中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2015)12-0000-00
高校计算机基础课程是大学生学习计算机的第一门课程,课程侧重于培养学生动手操作能力,在该课程上应用无纸化考试系统,体现了教育系统的改革以及模式的更新,能够体现课程性质以及提高教学的工作效率和管理水平。在该系统中,最重要的设计是数据库的设计,数据库中存储了海量的试题,能够快捷高效地进行出卷、答题、评分等工作。目前,已经有许多考试(远程教育、计算机等级考试、微软办公自动化考试)已经采用了标准化在线答题方式,其科学性、准确性、公平性也远远高于传统的考试形式。
1 考试系统数据库需求
对于数据库设计的步骤来说,需求分析是第一步也是最重要的一步,它决定了整个设计的目的和产品形态、在这个阶段当中,主要分析使用该在线考试系统的用户群体和业务活动,比如管理员的职责有录入考试名单、查询学生成绩等;教师负责出卷、修改、评分等;学生则需要在规定时间完成答题。
2 考试系统数据库设计
在线考试系统中,合理地设计数据库中的逻辑和属性关系能够保证系统中每个模块的功能之间紧密联系在一起。在需求分析确立以后,需要将所得到的需求抽象为信息概念,在概念设计中,一般采用自底而上的设计理念,得出教师、学生、试题库、试卷等实体信息。每一个试题都有各自的属性。每一个实体之间根据各自的功能都会有相应的联系。
本设计选用关系型数据库SQL Server作为数据库开发平台,在逻辑设计中,将上述实体关系模型(即E-R图)转为关系模式,并生成数据库所支持的表结构。详细的表结构如下:
Teacher表(教师):字段有编号、姓名、用户名、密码、任课学科,其中编号作为主键,任课学科作为区分教师对领域学科的划分。
Student(学生表):字段有学号、姓名、用户名、密码。主键为学号。
Paperlib(题库表):字段题库编号、题目标题、题目类型、难易等级、参考答案、备选答案。编号作为主键,用来保证记录的唯一性。
Paper(试卷表):字段有编号、试卷代码、大标题号、作答区、题库编号、学号、卷面分。在该表中,学号和题库编号是外键,分别和学生表以及题库表建立对应关系。
3 系统数据库连接代码
考试系统可以使用PHP语言开发,PHP语言拥有完善数据库集成层,使得它能够支持绝大多数的数据库系统,并兼容SQL标准,能够高效、快速、稳定地进行数据库的读写操作。在开发方面,PHP提供了许多用于数据库操作的标准接口,对连接、读取、写入数据库等操作非常方便,不论是开发web应用还是其他应用程序,都能够快速地进行二次开发[2]。
在连接方式上,PHP可以建立两种不同的方法来连接SQL Server。第一种是通过开放式的接口ODBC进行连接,它是微软定义的一种专门用于连接数据库的标准,目前市面上的关系数据库中都会有相应的ODBC驱动,ODBC可以说是数据库连接的一种业界通用标准,应用非常广泛。第二种是通过PHP语言直接对SQL Server进行连接,PHP语言中集成了Mssql函数库专门用于数据库的访问,主要分为即时连接和永久连接方式。
即时连接是指当需要进行数据库访问操作是才进行的数据连接,一般通过mssql_connect函数来进行。永久连接顾名思义就是一直保持着与数据库的连接,通过mssql_pconnect函数来实现。在本系统设计中,采用即时连接的方式可以减少数据库的负荷。
$db_conn = @mssql_connect("Computer_exam","admin","admin");
or die("数据库无法连接!");
mssql_select_db("Computer_exam",$db_conn);
?>
上述代码中,第一行用于连接数据库,其中Computer_exam为数据库名称,第一个admin为用户名,第二个为密码,同时用了@符号屏蔽错误显示。第二行中的die函数用来提示数据库连接失败并关闭程序,然后选择需要访问的数据库。在退出访问时,使用mssql_close函数把连接关闭。可以专门生成两个文件用来连接和关闭数据库,并命名为db_conn.php和db_exit.php。
4 考试系统数据库安全性
数据库系统的安全性与数据库管理系统关系密切,因为数据库管理系统如果拥有强大的安全机制,那么数据库系统也会具备较好的安全性能。提高数据库系统的安全性可以采用数据加密的方式,我们可以在操作系统层、数据库管理系统内核层以及数据库管理系统应用层三个层面进行加密。
在操作系统层面上,由于系统并不能识别数据库文件当中的一些数据的逻辑关系,所以不能通过产生合理密钥的方式来加密,也不便于对密钥的管理和使用,因此,对于大型的数据库很难在操作系统层面上实现数据的加密。
在数据库管理的内核层加密是指把数据在物理存取之前完成数据的加密或解密,这种加密功能强大,并且不会影响数据库管理系统的功能,能够将两者的进行无缝耦合,但是该加密方式必须在服务器中进行算法的运算工作,这样就会使服务器的负荷增大,同时还需要数据库管理系统开发商提供接口用于数据的加密。
目前采用的比较多的加密方式是在数据库管理系统应用层的加密,通过在数据库管理系统中根据加密的要求生成一个外层的工具,自动完成对数据的加密解密工作,这样就可以使加密工作不会对服务器造成负担,同时也可实现网络加密,但是相应的加密功能会收到限制,不利于与数据库管理系统的耦合。
5 结语
本文设计了一种计算机基础无纸化考试系统,从需求分析开始,再进行逻辑关系设计、数据表的生成以及数据库连接方法的描述,最后对数据库安全性进行分析,对高校计算机基础课程实施无纸化考试有一定的作用。
参考文献
[1]石志国.JSP网络开发详解[M].北京:电子工业出版社,2007.
[2]陈恭和.数据库基础与SQL应用教程[M].北京:高等教育出版社,2003.
计算机数据库设计相关论文相关文章: