基于正方教学管理系统和SQL语句的GPA审查
2014-10-08何光军,徐晨,陈戈
何光军,徐晨,陈戈
摘要:目前正方教学管理系统在各高校广泛使用,因各高校的学士学位授予的规章制度不一样,正方教学管理系统的授位资格审查功能已不能满足各高校差异化的要求。基于正方教务管理系统的基本数据库表结构,使用SQL语句能快速、准确地进行授位资格中的学业成绩审查。
关键词:学士学位授予;SQL;GPA审查
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2014)09-0129-02
重庆医科大学从2006年开始使用正方教学管理系统(简称正方系统),随着招生规模的扩大,每年毕业当期,教学管理部门承担的学士学位授予(简称授位)资格审查工作越来越繁重。虽然正方系统提供了毕业和授位审核功能模块,但并不能满足各高校差异化的要求[1,2,4]。如果仅利用正方系统提供的“学生成绩排名统计”功能进行毕业学生的通过课程门数和平均学分绩点的统计,就将耗时半个多月,且因毕业重(补)考等各种原因,成绩随时在更新,致使审查工作又将重新进行或迭代进行。现介绍一种方法,将使毕业和授位的学业成绩审查工作高效地完成。
一、引言
1.学士学位获得的资格和基本流程。学生获得学位的基本条件主要依据对其思想政治面貌、修课情况、学业成绩以及是否受到一定程度的处分的考评结果。其中,修课情况规定了学生必须修满规定的学分;学业成绩用平均学分绩点作为度量指标[3]。平均学分绩点(GPA,Grade Point Average)是以学分与绩点作为衡量学生学习的量与质的计算单位,以取得一定的学分和平均学分绩点作为毕业和获得学位的标准。平均学分绩点计算公式如下:
GPA=■
在学士学位授予过程中,通常学校设置学位评定委员会来保证学位授予质量。在学校学位委员会审批之前,资格审查是极其重要的一环,修课情况和学业成绩审查往往由教学管理部门负责,如图1所示[5]。
2.学校授予学士学位要求。在平均学分绩点公式中,课程绩点系数与课程考核成绩相关[6],如表1所示:
其中,用五级分制考核的课程,绩点系数计算公式中课程百分制成绩对应为:优=95,良=85,中=75,及格=65,不及格=55分。
对于百分制成绩,依据“(课程成绩-50)/10”进行计算,即60分的绩点系数为1.0,61为1.1,62为1.2……以此类推。成绩小数点后面按四舍五入保留一位小数。
如果是补考成绩,按60分处理,最高绩点系数为1.0;如果是重修成绩,与期末考试成绩一样,按实际成绩处理并计算绩点。
对于期末考试成绩、补考成绩、重修成绩三者的选取,则以三者最高的绩点系数为准。
我校《全日制本科毕业生学士学位授予实施细则》其中一条规定:主修专业的必修课程的平均学分绩点不得低于2.0,即被授予学士学位者应当学业成绩优秀。
目前,我校使用的是正方教学管理系统,其中用“xsjbxxb”表存放学生的基本信息,用“cjb”存放学生的成绩信息,结构见表2和表3。
二、数据准备
1.毕业班级数据准备。我校有四、五年制专业,不能以年级为条件筛选毕业生,而用毕业班级名称作为毕业生的筛选条件。毕业班级名称数据存放在Excel表格中,需要将班级名称数据做成“sql”语句的查询条件。这里可以利用记事本的格式过滤功能和Word的替换功能。①将Excel表格中班级名称列数据复制到记事本中,过滤掉格式。再将记事本中的数据复制到Word文档中,会发现,一个班级名称占据了一行。用Word提供的替换功能,将换行符(^p)替换成' or xzb=',如图2所示。替换完成后,进行段首补全和删除段末多余的数据。②再将替换后的文本再次复制到记事本,将其中全角单引号“‘”和“”替换成半角单引号“'”,它将作为“SQL”语句的查询条件之一。
2.数据备份。在对数据库的表数据进行修改等操作前,必须进行备份操作,当出现不可预料的误操作时,可以进行数据恢复。表的备份“SQL”语句如下[5]:
create table cjb_bf201305201430 as select * from cjb.
3.数据规范化处理。①处理“cjb”中“xf”字段为“NULL”或为“0”的情况。因历史问题或者操作不当,导致一些课程的学分为空值或者为“0”。可以根据课程库表或课程的学时数补充学分,如理论课16个学时表示1个学分,实验课18个学时表示1个学分。②处理“cjb”中“zscj”字段为“NULL”或非数字字符的情况。③“bkcj”和“cxcj”成绩不能为非数字字符,如“缓考”、“旷考”等。
三、计算课程成绩绩点系数
课程成绩绩点系数按以下规则计算:正考和重修成绩按实际成绩处理,利用表1计算绩点系数;补考成绩≥60按60分计算,绩点系数为1.0,否则按0分计算,绩点系数为“0”。
计算毕业班级所有学生的主修专业的所有必修课程的成绩绩点系数,并把结果放在另一个新建表中,即“cjb_jdxs”(成绩绩点系数表)。
SQL语句如下:
create table cjb_jdxs as select xh ,xf,kcmc,kcxz,zscj,bkcj,cxcj,
case
when zscj<60 then 0
when zscj>=60 then round((zscj-50)/10,1)
end
as zscjxs,?摇?摇——期末正考成绩绩点系数
case
when bkcj is null or bkcj<60 then 0
when bkcj>=60 then 1.0endprint
end
as bkcjxs,?摇?摇——补考成绩绩点系数
case
when cxcj is null or cxcj<60 then 0
when cxcj>=60 then round((cxcj-50)/10,1)
end
as cxcjxs?摇?摇——重修成绩绩点系数
from cjb where kcxz='必修课' and (fxbj is null or fxbj =0 ) and xh in(select xh from xsjbxxb where xzb='2009级B1班' or xzb='2009级B2班' or xzb='2009级B3班' or xzb='2009级B4班' or xzb='2009级B5班' or xzb='2009级B6班' or ……or xzb='2008级A12班' )。
四、学业成绩审查
我校毕业生学位授予的条件是在毕业的前提下,主修专业的所有必修课程的平均学分绩点≥2.0。
1.计算课程的最终绩点系数。利用“oracle”横向取最大值函数greatest(col1,col2,col3……),求出正考成绩绩点系数、补考成绩绩点系数、重修成绩绩点系数三者的最大值,即为该门课程的最终绩点系数。将数据结果放在“cjb_zzjdxs”表中。
create table cjb_zzjdxs as
select xh,xf,greatest(zscjxs,bkcjxs,cxcjxs)as zzjdxs from cjb_jdxs。
2.计算每个学生的平均学分绩点(GPA)。利用“SQL”语句的分组统计功能,计算每个学生的平均学分绩点,四舍五入保留两位小数。将数据结果放在“gpab”表中。
create table gpab as
select xh,round(sum(xf* zzjdxs)/sum(xf),2)gpa from cjb_zzjdxs group by xh。
3.筛选出平均学分绩点<2.0的学生。
select xh,gpa from gpab where gpa <2.0.
可以利用多表查询的方法查找平均学分绩点<2.0的学生的其他基本信息。
例如:select b.xh,b.xm,b.xzb from gpab a,xsjbxb b where a.gpa <2.0 and a.xh=b.xh。
五、总结
我校每年毕业生有4000人左右,在毕业学期,需要对其进行授位资格审查,其中学生的GPA审查工作极其重要。实践表明,利用本文中介绍的方法将使毕业和授位审查工作在极短的时间内完成,且不易出错,并能解决各高校差异化的要求。
参考文献:
[1]宋建军.高校教学管理系统使用中存在的问题及对策[J].重庆科技学院学报(社会科学版),2010,(16):151-153.
[2]张巧航.高校教学管理系统的应用和改进意见福建电脑[J].2011,(12):138-140.
[3]苏兆斌,李天鹰.我国学位授予审核现状分析及改进意见[J].现代教育管理,2011,(6):101-104.
[4]刘铭,高杨,孟令艳.正方现代教学管理系统在实际应用中常见问题解析[J].教育教学论坛,2012,(17):175-177.
[5]丁士锋.Oracle PL/SQL从入门到精通[M].北京:清华大学出版社,2012.
[6]绩点系数和平均学分绩的计算办法[EB/OL].[2008-07-03](2013-06-11).
http://jw.qust.edu.cn/readnews.asp?ArticleID=1212.
基金项目:重庆市高等教育教学改革研究项目重大专项(09-1-012)。endprint
end
as bkcjxs,?摇?摇——补考成绩绩点系数
case
when cxcj is null or cxcj<60 then 0
when cxcj>=60 then round((cxcj-50)/10,1)
end
as cxcjxs?摇?摇——重修成绩绩点系数
from cjb where kcxz='必修课' and (fxbj is null or fxbj =0 ) and xh in(select xh from xsjbxxb where xzb='2009级B1班' or xzb='2009级B2班' or xzb='2009级B3班' or xzb='2009级B4班' or xzb='2009级B5班' or xzb='2009级B6班' or ……or xzb='2008级A12班' )。
四、学业成绩审查
我校毕业生学位授予的条件是在毕业的前提下,主修专业的所有必修课程的平均学分绩点≥2.0。
1.计算课程的最终绩点系数。利用“oracle”横向取最大值函数greatest(col1,col2,col3……),求出正考成绩绩点系数、补考成绩绩点系数、重修成绩绩点系数三者的最大值,即为该门课程的最终绩点系数。将数据结果放在“cjb_zzjdxs”表中。
create table cjb_zzjdxs as
select xh,xf,greatest(zscjxs,bkcjxs,cxcjxs)as zzjdxs from cjb_jdxs。
2.计算每个学生的平均学分绩点(GPA)。利用“SQL”语句的分组统计功能,计算每个学生的平均学分绩点,四舍五入保留两位小数。将数据结果放在“gpab”表中。
create table gpab as
select xh,round(sum(xf* zzjdxs)/sum(xf),2)gpa from cjb_zzjdxs group by xh。
3.筛选出平均学分绩点<2.0的学生。
select xh,gpa from gpab where gpa <2.0.
可以利用多表查询的方法查找平均学分绩点<2.0的学生的其他基本信息。
例如:select b.xh,b.xm,b.xzb from gpab a,xsjbxb b where a.gpa <2.0 and a.xh=b.xh。
五、总结
我校每年毕业生有4000人左右,在毕业学期,需要对其进行授位资格审查,其中学生的GPA审查工作极其重要。实践表明,利用本文中介绍的方法将使毕业和授位审查工作在极短的时间内完成,且不易出错,并能解决各高校差异化的要求。
参考文献:
[1]宋建军.高校教学管理系统使用中存在的问题及对策[J].重庆科技学院学报(社会科学版),2010,(16):151-153.
[2]张巧航.高校教学管理系统的应用和改进意见福建电脑[J].2011,(12):138-140.
[3]苏兆斌,李天鹰.我国学位授予审核现状分析及改进意见[J].现代教育管理,2011,(6):101-104.
[4]刘铭,高杨,孟令艳.正方现代教学管理系统在实际应用中常见问题解析[J].教育教学论坛,2012,(17):175-177.
[5]丁士锋.Oracle PL/SQL从入门到精通[M].北京:清华大学出版社,2012.
[6]绩点系数和平均学分绩的计算办法[EB/OL].[2008-07-03](2013-06-11).
http://jw.qust.edu.cn/readnews.asp?ArticleID=1212.
基金项目:重庆市高等教育教学改革研究项目重大专项(09-1-012)。endprint
end
as bkcjxs,?摇?摇——补考成绩绩点系数
case
when cxcj is null or cxcj<60 then 0
when cxcj>=60 then round((cxcj-50)/10,1)
end
as cxcjxs?摇?摇——重修成绩绩点系数
from cjb where kcxz='必修课' and (fxbj is null or fxbj =0 ) and xh in(select xh from xsjbxxb where xzb='2009级B1班' or xzb='2009级B2班' or xzb='2009级B3班' or xzb='2009级B4班' or xzb='2009级B5班' or xzb='2009级B6班' or ……or xzb='2008级A12班' )。
四、学业成绩审查
我校毕业生学位授予的条件是在毕业的前提下,主修专业的所有必修课程的平均学分绩点≥2.0。
1.计算课程的最终绩点系数。利用“oracle”横向取最大值函数greatest(col1,col2,col3……),求出正考成绩绩点系数、补考成绩绩点系数、重修成绩绩点系数三者的最大值,即为该门课程的最终绩点系数。将数据结果放在“cjb_zzjdxs”表中。
create table cjb_zzjdxs as
select xh,xf,greatest(zscjxs,bkcjxs,cxcjxs)as zzjdxs from cjb_jdxs。
2.计算每个学生的平均学分绩点(GPA)。利用“SQL”语句的分组统计功能,计算每个学生的平均学分绩点,四舍五入保留两位小数。将数据结果放在“gpab”表中。
create table gpab as
select xh,round(sum(xf* zzjdxs)/sum(xf),2)gpa from cjb_zzjdxs group by xh。
3.筛选出平均学分绩点<2.0的学生。
select xh,gpa from gpab where gpa <2.0.
可以利用多表查询的方法查找平均学分绩点<2.0的学生的其他基本信息。
例如:select b.xh,b.xm,b.xzb from gpab a,xsjbxb b where a.gpa <2.0 and a.xh=b.xh。
五、总结
我校每年毕业生有4000人左右,在毕业学期,需要对其进行授位资格审查,其中学生的GPA审查工作极其重要。实践表明,利用本文中介绍的方法将使毕业和授位审查工作在极短的时间内完成,且不易出错,并能解决各高校差异化的要求。
参考文献:
[1]宋建军.高校教学管理系统使用中存在的问题及对策[J].重庆科技学院学报(社会科学版),2010,(16):151-153.
[2]张巧航.高校教学管理系统的应用和改进意见福建电脑[J].2011,(12):138-140.
[3]苏兆斌,李天鹰.我国学位授予审核现状分析及改进意见[J].现代教育管理,2011,(6):101-104.
[4]刘铭,高杨,孟令艳.正方现代教学管理系统在实际应用中常见问题解析[J].教育教学论坛,2012,(17):175-177.
[5]丁士锋.Oracle PL/SQL从入门到精通[M].北京:清华大学出版社,2012.
[6]绩点系数和平均学分绩的计算办法[EB/OL].[2008-07-03](2013-06-11).
http://jw.qust.edu.cn/readnews.asp?ArticleID=1212.
基金项目:重庆市高等教育教学改革研究项目重大专项(09-1-012)。endprint