学生管理系统在数据库课程教学中的应用
2014-10-18王友顺王家斌
王友顺,王家斌
(1.郑州信息科技职业学院;2.中国船舶重工集团公司第七一三研究所,郑州 450000)
一、引言
随着社会和现代信息技术的迅猛发展,数据库技术开始在各行各业得到广泛的运用,高职院校的数据库课程也在不断地改革和更新。高职院校培养的是实用型人才,数据库应用也是计算机信息技术的实用技术,所以高职院校对于数据库的教学方式和内容也在加大研究力度。现阶段高职院校的数据库教学有两方面的问题:
(1)原理方式教学。以原理教学的方式,主要讲述数据库的原理细节、数据库设计原则、数据库性能优化等。该教学方式,有两个缺陷:第一,原理型教学由于内容偏重于理论、过于抽象很难激发学生的主观能动性和热情,导致整个教学活动流于形式,教学效果远远达不到目标;第二,对于高职院校的学生,掌握实用技术是第一要义,所以一切都要掌握实用技术为先,对于理论知识要求只需要达到够用即可的程度,所以原理教学方式并不适合高职院校学生。
(2)实践操作方式教学。对于高职院校学生,实践操作方式教学这种形式比原理教学方式更合适一些,学生能够根据课本、教师指定的题目编写SQL语句、设计表结构、编写存储过程等。这种实践教学方式下,学生能够很好地掌握数据库课程各个知识点,学生的确能够学习到一些数据库操作性的知识;但是掌握数据库应用技术不能仅限于数据库基本操作、编写简单的SQL语句,更为重要的是要根据实际业务需求设计数据库、设计表结构、创建视图、编写程序等。所以实践操作方式教学远远达不到掌握实用型技术的要求。
为了解决上述问题,应考虑在数据库教学过程中引入学生管理系统项目。首先,学生对该管理系统业务非常熟悉,能够很快确定需求、业务分析完成数据库的设计。其次,学生刚结束《C#程序设计》这门课程,实施该系统的过程也是对以前课程的复习和应用。最后,提升学生自信心。学期结束能够看到自己的作品,无疑对学生是很大的鼓励,能够提高学生自信心。实施学生管理系统项目过程要以掌握数据库应用技术为宗旨,以完成系统的功能为目标,功能模块难度不断提高为手段,使学生在实践中不断树立信心,最终掌握一个典型数据库系统项目的整体设计。
图1 学生管理系统框架图
二、系统框架
学生管理系统整体结构如图1所示,分为数据库设计和功能模块设计两部分,数据库部分分为表结构设计和视图的设计;功能模块设计分为添加学生信息、添加课程、学生选课、学生信息查询、课程信息查询、学生成绩查询等。
三、数据库设计实现
数据库设计是实现学生管理系统的基础,完成数据库设计首先要进行需求分析,确定实现的内容。根据教学时间和其他因素,管理系统首先确定针对学生个人信息、成绩信息进行管理。需求确定后进入业务分析和数据库的设计;经过业务分析,需要创建四个表,分别是学生信息表(stuinfo)、课程信息表(courseid)、学生成绩表(stuscore)和专业信息表(stumojor)。 学生信息表主要反映学生个人信息,例如学号、姓名、性别、出生日期、所学专业等;课程信息表,主要存储课程名称和课程编号,以供学生选课之所需;学生成绩表包括了学生学号、课程编号和成绩三个字段,存储学生每一门课的成绩;专业信息表包括专业编号、专业名称字段。数据库关系图如图2。
图2 数据库关系图
据图2可看出,每个表都设置有主键或组合主键;表之间存在外键关系,例如,学生信息表和专业信息表及成绩表存在外键关系,成绩表又和课程表存在外键关系,保证数据的引用完整性。为了编程期间方便操作数据库和安全性的原因,需要创建相应的视图来满足功能模块的需要,例如,学生成绩表中包括了学生编号、课程编号和成绩三个字段,但仅从学号、课程编号不能直观看出是学生名称、课程名称,所以需要学生信息表、课程表和成绩表联合创建视图满足数据的可读性。
学会需求分析和业务分析是完成数据库设计的重要手段。完成表设计、视图设计、创建表间关系,设计出合理数据库是学生必须掌握的一项重要技能。
四、功能模块实现
学生管理系统是基于VS 2008和SQL Server 2005环境下实现的。功能模块分为数据查询和系统设置两部分,其中系统设置部分分为添加学生信息、添加课程信息和学生选课模块;数据查询分为学生信息查询、课程信息查询和学生成绩查询模块。
首先创建Windows窗体应用程序,添加各个功能模块的窗体,下面选取典型的模块来介绍如何实现数据库的操作。
图3 添加学生信息
创建添加学生窗体之后,添加相应的控件如图3所示。学号、姓名使用文本框输入数据,性别和专业使用下拉列表方便用户选择。出生日期使用日期控件方便用户输入日期时间。在代码的实现中,需要以下几个步骤。第一,数据校验。从窗体控件获取数据并校验数据的合法性是非常重要的一步,直接关系到添加学生是否成功。第二,连接数据库。数据合法性通过校验之后,需要使用SqlConnection类连接数据库。首先实例化SqlConnection一个对象;其次,设置连接数据库的方式、用户名称、密码以及连接数据库名称,设置完毕使用打开数据库连接;最后,提交数据。向数据库插入一条数据记录使用insert语句,将通过合法校验的数据按照insert语句格式来装配成为完整的SQL语句,最后使用SqlCommand类执行SQL语句。连接数据库、执行SQL语句必须引入try{…}catch{…}异常处理机制。
图4 学生信息查询
数据查询部分的实现均大同小异,下面以学生信息查询为例来介绍。学生信息查询界面如图4,查询条件为四个复合查询条件,可以灵活地设置查询条件。
查询结果使用Gridview控件来显示结果数据。SQL指令中完成查询功能的是select语句,select语句在数据库应用中使用率最高,掌握好select语句至关重要。代码实现查询需要完成以下步骤:第一,要验证数据的合法性。从四个查询条件中获取有效数据,在使用过程中四个查询条件用户可能仅使用一个或者多个条件,所以校验数据的合法性显得非常重要。第二,连接数据库,完成SQL编写。此步骤和添加学生信息相同,将有效查询条件按照select格式装配成SQL标准查询语句。第三,执行SQL语句。将装配完成的SQL语句使用SqlCommand类执行查询操作,返回的数据集显示在GridView控件上。
五、结论
综上所述,以学生管理系统实际项目为基础的数据库课程,项目本身涵盖了教学的整个流程,从需求分析、业务分析、表结构设计、视图设计、功能模块划分到实现等各个环节。随着项目逐步进行,学生的热情和积极性被充分调动起来。以该项目为平台还可以使学生发挥主观能动性对系统功能进行扩充改造,例如在本学期的教学中,实现了学生个人信息、成绩信息管理,后续功能可以扩充学生考勤管理、平时成绩管理等。经过两个学期的实践,结果证明学生态度、积极性有了很大的改变,取得了很好的教学效果。
[1]孙焕志.探析高职数据库课程的教学改革和教学方法[J].计算机光盘软件与应用,2012,(9).
[2]冯英.数据库课程的教学改革和教学方法[J].科技致富向导,2012,(16).
[3]闫丽新.电大开放教育数据库课程的教学改革探索[J].教育与职业,2013,(27).
[4]郭轶卓.关于《数据库原理与应用》教学改革的研究[J].华章,2011,(17).
[5]吴赟婷,邹璇.计算机专业《数据库原理及应用》教学改革刍议[J].职教论坛,2011,(2).
[6]杨鑫华,邓武,赵慧敏.实用型人才培养的数据库课程教学改革与实践[J].理工高教研究,2008,27(3).