学生上机实训考核系统中数据库设计与实现
2016-11-25陈辉赵晓华
陈辉,赵晓华
(陕西交通职业技术学院 陕西 西安 710018)
学生上机实训考核系统中数据库设计与实现
陈辉,赵晓华
(陕西交通职业技术学院 陕西 西安 710018)
为了提高学院的上机实训工作的信息化,减轻实训教师的工作强度降低工作量,课题组开发了学生上机实训考核系统,系统数据保存使用Sqlserver2012数据库系统保存,在数据库设计中,课题组采用了易用性和可扩充性并重的原则进行设计,设计完成的数据库可以充分满足后续系统设计的需求,达到了预期的目标。
SQL Server;数据库设计;实训作业;上机考核;数据优化
近年来,学院上机作业通常是教师通过FTP或文件共享发布和提交的,教师收取后保存在U盘中后进行浏览手动评阅,没有一个较好的上机现场考核手段,学生在提交作业后,不便重新修改提交,对于历史提交的作业也没有一个较好的保存方法,为了改革学院的上机实训考核和实训作业提交评阅的落后方式,我系开发了学生上机实训考核系统,在系统开发的过程中,重要的环节就是数据库设计,通过广泛的调研和用户需求分析,课题组进行了数据库设计,较好的满足了系统设计的需要,系统数据库设计使用了Sqlserver2012数据库系统进行开发,SQL Server2012是微软公司发布的一款非常优秀的关系数据库管理系统,延续了之前版本的强大能力,不仅提供了企业架构最高级别的支持,而且还提供了最高级别的可用性,可以满足不同用户对数据和信息存储的需求,数据容量管理达到了数百TB的数量级,并且具备较完善的数据分析功能。SQL Server2012的版本包括企业版(Enterprise)、标准版(Standard)和精简版(Express),该数据库系统在保证了易用性的同时还提供了较高的安全性。
1 数据库设计的基本要求
数据库设计的目的是能够较好地存储系统的相关数据,针对本系统的具体情况,在数据库中需要保存教师发布的实训任务,实训任务需要考虑教师发布任务的素材和附件的保存,学生上机完成的实训作业需要考虑学生上传的文件保存,教师发布的任务应该便于查询和修改,学生提交的作业附件也需要保存在数据库,并便于检索,此外数据库还需要保存教师、学生、班级、课程、专业、系部等信息,应该分别建立数据表保存。此外,还需要设计留言板数据表,保存学生留言和教师对留言的回复,因此数据库设计需要实现以下的基本要求。
1)教师发布的实训任务和学生根据实训任务提交的实训作业在数据库中应该分别建立表存储,实训任务的素材和实训作业的提交文件信息保存在数据库中,但文件本身存储在服务器的相应目录下,数据库只保存文件名和路径信息。
2)系部、专业、课程信息应该分别保存在不同的数据表中,通过外键关联,系部与专业是一对多的关系,专业和课程是多对多的关系,需要在数据表的设计中实现。
3)教师发布的实训任务是针对一门课程的,但实训任务可能是对授课的多个班级同时还发布的,因此教师和实训任务是一对多的关系,实训任务和授课班级也是一对多的关系,在数据库表的设计中需要考虑。
4)在设计留言数据表的时候,需要考虑学生发布的留言后,教师未阅读和阅读回复的不同状态,教师未阅读的留言在系统中需要顶置显示,教师回复后学生未阅读的留言在学生登陆后也需要顶置显示,因此需要在数据表中设计多个标记。
5)在设计数据库中的各个数据表字段的时候,需要具体分析各个字段的类型、长度,例如学号字段需要设置为学院标准的12位,并且需要对各个表之间建立合理的主外键关系进行约束。
6)设计实训考试和考试管理中,需要对考试试题、学生的考试试卷、班级考试成绩进行有效保存。
2 数据库表设计思想
数据库设计采用SQL Server2012关系型数据库管理系统实现。SQL Server2012是微软开发的大中型数据库,对于学生上机实训考核管理系统的数据库,采用SQL Server2012数据库系统可以完全满足需求。通过对用户的需求进行分析,在数据库中需要保存的实体信息包括下图所示的8类,如图1所示。
图1 数据库结构
在数据库表的设计过程中,课题组采取了保证未来可扩充性和系统易用的设计原则,主要体现如下。
1)在数据表的设计中,对未来系统扩充保留余地,例如在实训作业表的设计中,教师发布的作业要求仅需要保持文本形式的要求,还需要可以保持作业要求文件和作业素材,因此在设计中需要文本字段和其他字段,同时还需要考虑到教师可能会删除作业,如果在数据库直接删除作业记录,就可能需要删除相关联的学生提交作业,这样的删除工作会非常麻烦,因此考虑在实习作业表总添加validate字段,通过该字段标记作业的有效性,实现系统易用的目标。
2)提高数据库的工作效率,在学生实训作业表中,学生每次提交的作业会创建一条记录,按照以往的设计经验,学生提交的作业文件的保存方式都是采用将文件转为二进制字节流保存到二进制类型的字段中,随着日常的应用,数据库的容量会快速增加,不利于数据访问,因此,在本次学生实训作业表设计中,通过将学生上传的作业文件保存到服务器指定文件夹,将上传文件的路径和文件名保存到数据库的方式。
3 数据库设计方案
以用户需求分析得到的数据库保存实体信息,分析各个实体信息之间的关系,并进行适当的关系优化,在满足数据库设计范式的基础上设计如下四类数据表。
3.1 系部-专业-课程表设计
根据学院的实际系部专业设置,系部包含多个专业,同一专业包含多门课程,同时还会开设多个班级。考虑到有部分公共课是多个专业开设的,因此专业和课程的关系不是一对多的关系,而是多对多的关系,在数据库表设计时,采用多表关联的方式实现。具体实现采用了考虑到一个试题库可以容纳多个系部、不同专业的多门课程,并且每门课程又包含多个知识点,因此,设计了相关的四张数据表,分别是系部(department),专业(specialty),课程(course),专业课程关系(SpecialtyCourse),如图2所示。
图2 系部-专业-课程表设计
在课程信息表中,不包含专业信息,因此在课程表中不设置专业归属,专业归属信息保存在专业课程关系表(SpecialtyCourse)中,专业表(specialty)和课程表(course)通过专业信息表相连接,这样做可以使一个专业对应于多门课程,还可以使一门课程(公共课)对应于多个专业,较好地实现了课程和专业的关系管理。
3.2 实训考核相关表设计
在设计实训考核(考试)中,设计思想是以自动组卷系统数据库中的试卷进行考试,通过考试发布操作,在本项目数据库中创建考试数据表,保存考试内容和考试班级信息,学生完成考试后,考试记录保存在学生考试数据表中,由于一份试卷可以给多个班级发布考试,因此在考试表和考试班级表中,是一对多的映射关系,数据表设计如图 3所示。
图3 实训考核数据表
3.3 教师-学生-实训任务-实训作业表设计
这些表包括学生、班级、教师信息表和实训任务相关数据表两类,在系统设计中用户分为管理员、教师、学生三类,实际上管理员也是教师,因此在教师表中添加是否是管理员字段(IsAdmin),标记管理员资格。
根据需求,教师首先需要添加授课任务,然后才能向已有授课任务的课程发布实训任务,授课任务包括讲授课程和班级,因此在数据表设计中,添加了教师信息-授课课程-学生班级数据表。具体如图4所示。
图4 教师-学生-实训任务-实训作业表
教师发布的实训作业是对一门课程的一个或多个班级的,因此在设计数据表的时候需要考虑实训作业和实训班级的一对多关系,通过建立实训任务(teacherWork)-实训任务班级管理(classWrok)-班级(studentClass)的三级关系实现一对多的映射。
在需求分析中,还需要考虑表记录的删除,对于实际应用来说,由于各个表有主外键的管理,记录删除是一件非常复杂的事情,例如,如果删除一条教师信息,就需要先删除该教师的所有授课课程信息、实训任务,以及所有与发布实训任务相关的学生作业,为了简化设计,在需要删除数据的数据表中添加了validate字段,表示记录有效性,用户的删除操作仅仅修改validate字段,并不用物理删除。
3.4 留言表设计
留言表保存的是留言板的内容,主要包括学生就某课程向教师提出的问题以及教师的解答等,教师登陆后可以在留言板中看到所有学生给自己的留言,并且未阅读回复的留言顶置,学生登陆后可以看到自己发布的留言和教师的回复,教师新的回复顶置,因此在留言表中设置了teacherReplay、studentRead字段表示教师回复标记和学生阅读教师回复标记,这两个字段都是bit类型,设置默认值为false。留言板结构和关系如图5所示。
图5 留言表设计
4结 论
在学生上机考核系统数据库设计中,课题组不仅汲取了以往的设计经验,而且还根据实际情况对数据库进行优化,目前以该数据库为基础设计的学生上机考核系统已经开始在学院实训中,已经于2015年9月开始在学院各个机房正式投入使用,根据两个多月的应用情况,系统数据库完全满足了设计要求,可以较好地保存各类数据,系统的应用也大大地简化了教师的工作强度,提高了工作效率。
[1]龚春亚,张国华.基于C#的题库批量录入算法研究[J].电脑知识与技术,2010(27):45-47.
[2]黄丽雯,陈渝光,刘巍.一种有效的试题库框架设计算法[J].计算机应用,2000(1):60-61.
[3]王建忠,张萍,吴倩,等.考试系统中题库量与试题量的关系研究[J]计算机应用研究,2010,8(2):18-21.
[4]王文发,王文东,刘彦保.试题库系统建设中试题质量分析与建模[J].延安大学学报(自然科学版),2007,10(4):58-61.
[5]郭敏华,兰雨晴,金茂忠.一种海量题库难度系数和区分度动态优化模型[J].计算机工程与应用,2007(21):246-248.
[6]简靖韡,吴菊花.高校在线学评教系统模块及数据库设计[J].电子制作,2015,22(5):23-26.
[7]李娟.排课系统中数据库表的设计[J].科技资讯,2015,13(15):43-46.
[8]容湘萍.学生档案管理系统数据库设计与优化[J].软件导刊,2014,32(12):148-150.
[9]池宗谕,ADO.NET与SQL数据库的连接与访问研究[J].辽宁高职学报,2015,14(2):95-96.
[10]唐健.ADO.net数据库访问技术及性能优化[J].电子技术与软件工程,2015,8(21):18-21.
Application of.Net software architecture and design-patterns in automatic test paper system
CHEN Hui,ZHAO Xiao-hua
(Shaanxi College of Communication Technology,Xi′an 710018,China)
In order to Net platform to implement and adapt to a variety of databases on training management system of students of the reusability,adopts the MVC software architecture and design patterns and data access layer,and using the C# language,the system developed.By introducing the ASP.NET MVC design pattern,the system can easily switch database access,enhance maintainability and reusability of the code,effectively improve the efficiency of system development,and easy software upgrades.
ASP.NET;database design;training work;computer test;data optimization
TN919
A
1674-6236(2016)18-0004-03
2015-10-20 稿件编号:201510128
陕西交通职业技术学院院级科研项目(YJ15002);陕西高等教育教学改革研究项目(15Z26)
陈 辉(1970—),男,陕西蓝田人,博士,副教授。研究方向:无线网络和软件开发。