何光軍,徐晨,陳戈
摘要:目前正方教學(xué)管理系統(tǒng)在各高校廣泛使用,因各高校的學(xué)士學(xué)位授予的規(guī)章制度不一樣,正方教學(xué)管理系統(tǒng)的授位資格審查功能已不能滿足各高校差異化的要求。基于正方教務(wù)管理系統(tǒng)的基本數(shù)據(jù)庫表結(jié)構(gòu),使用SQL語句能快速、準(zhǔn)確地進(jìn)行授位資格中的學(xué)業(yè)成績審查。
關(guān)鍵詞:學(xué)士學(xué)位授予;SQL;GPA審查
中圖分類號:G647 文獻(xiàn)標(biāo)志碼:A 文章編號:1674-9324(2014)20-0018-02
重慶醫(yī)科大學(xué)從2006年開始使用正方教學(xué)管理系統(tǒng)(簡稱正方系統(tǒng)),隨著招生規(guī)模的擴(kuò)大,每年畢業(yè)當(dāng)期,教學(xué)管理部門承擔(dān)的學(xué)士學(xué)位授予(簡稱授位)資格審查工作越來越繁重。雖然正方系統(tǒng)提供了畢業(yè)和授位審核功能模塊,但并不能滿足各高校差異化的要求[1,2,4]。如果僅利用正方系統(tǒng)提供的“學(xué)生成績排名統(tǒng)計”功能進(jìn)行畢業(yè)學(xué)生的通過課程門數(shù)和平均學(xué)分績點(diǎn)的統(tǒng)計,就將耗時半個多月;且因畢業(yè)重(補(bǔ))考等各種原因,成績隨時在更新,致使審查工作又將重新進(jìn)行或迭代進(jìn)行。現(xiàn)介紹一種方法,將使畢業(yè)和授位的學(xué)業(yè)成績審查工作高效地完成。
一、引言
1.學(xué)士學(xué)位獲得的資格和基本流程。學(xué)生獲得學(xué)位的基本條件主要依據(jù)對其思想政治面貌、修課情況、學(xué)業(yè)成績以及是否受到一定程度的處分的考評結(jié)果。其中,修課情況規(guī)定了學(xué)生必須修滿規(guī)定的學(xué)分;學(xué)業(yè)成績用平均學(xué)分績點(diǎn)作為度量指標(biāo)[3]。平均學(xué)分績點(diǎn)(GPA,Grade Point Average)是以學(xué)分與績點(diǎn)作為衡量學(xué)生學(xué)習(xí)的量與質(zhì)的計算單位,以取得一定的學(xué)分和平均學(xué)分績點(diǎn)作為畢業(yè)和獲得學(xué)位的標(biāo)準(zhǔn)。平均學(xué)分績點(diǎn)計算公式如下:
GPA=■
在學(xué)士學(xué)位授予過程中,通常,學(xué)校設(shè)置學(xué)位評定委員會,來保證學(xué)位授予質(zhì)量。在學(xué)校學(xué)位委員會審批之前,資格審查是極其重要的一環(huán),修課情況和學(xué)業(yè)成績審查往往由教學(xué)管理部門負(fù)責(zé)其中,如圖1所示[3]。
2.學(xué)校授予學(xué)士學(xué)位要求。在平均學(xué)分績點(diǎn)公式中,課程績點(diǎn)系數(shù)與課程考核成績相關(guān)[6],如表1所示。
其中,用五級分制考核的課程,績點(diǎn)系數(shù)計算公式中課程百分制成績對應(yīng)為:優(yōu)=95,良=85,中=75,及格=65,不及格=55分。
對于百分制成績,依據(jù)“(課程成績-50)/10”進(jìn)行計算,即60分的績點(diǎn)系數(shù)為1.0,61為1.1,62為1.2……以此類推。成績小數(shù)點(diǎn)后面按四舍五入保留一位小數(shù)。
如果是補(bǔ)考成績,按60分處理,最高績點(diǎn)系數(shù)為1.0;如果是重修成績,與期末考試成績一樣,按實(shí)際成績處理并計算績點(diǎn)。
對于期末考試成績、補(bǔ)考成績、重修成績?nèi)叩倪x取,則以三者最高的績點(diǎn)系數(shù)為準(zhǔn)。
我校《全日制本科畢業(yè)生學(xué)士學(xué)位授予實(shí)施細(xì)則》其中一條規(guī)定:主修專業(yè)的必修課程的平均學(xué)分績點(diǎn)不得低于2.0,即被授予學(xué)士學(xué)位者應(yīng)當(dāng)學(xué)業(yè)成績優(yōu)秀。
目前,我校使用的是正方教學(xué)管理系統(tǒng),其中用xsjbxxb表存放學(xué)生的基本信息,用cjb存放學(xué)生的成績信息,表結(jié)構(gòu)見表2和表3。
二、數(shù)據(jù)準(zhǔn)備
1.畢業(yè)班級數(shù)據(jù)準(zhǔn)備。我校有四、五年制專業(yè),不能以年級為條件篩選畢業(yè)生,而用畢業(yè)班級名稱做為畢業(yè)生的篩選條件。畢業(yè)班級名稱數(shù)據(jù)存放在Excel表格中,需要將班級名稱數(shù)據(jù)做成sql語句的查詢條件。這里可以利用記事本的格式過濾功能和Word的替換功能。
①將Excel表格中班級名稱列數(shù)據(jù)復(fù)制到記事本中,過濾掉格式。再將記事本中的數(shù)據(jù)復(fù)制到Word文檔中,會發(fā)現(xiàn),一個班級名稱占據(jù)了一行。用Word提供的替換功能,將換行符(^p)替換成'orxzb=',如圖2所示。
替換完成后,進(jìn)行段首補(bǔ)全和刪除段末多余的數(shù)據(jù)。
②再將替換后的文本再次復(fù)制到記事本,將其中全角單引號“‘”和“”替換成半角單引號“'”,它將作為SQL語句的查詢條件之一。
2.數(shù)據(jù)備份。在對數(shù)據(jù)庫的表數(shù)據(jù)進(jìn)行修改等操作前,必須進(jìn)行備份操作,當(dāng)出現(xiàn)不可預(yù)料的誤操作時,可以進(jìn)行數(shù)據(jù)恢復(fù)。表的備份SQL語句如下[5]:
create table cjb_bf201305201430 as select * from cjb.
3.數(shù)據(jù)規(guī)范化處理。①處理cjb中xf字段為NULL或為0的情況。因歷史問題或者操作不當(dāng),導(dǎo)致一些課程的學(xué)分為空值或者為0。可以根據(jù)課程庫表或課程的學(xué)時數(shù)補(bǔ)充學(xué)分,如理論課16個學(xué)時表示1個學(xué)分,實(shí)驗課18個學(xué)時表示1個學(xué)分。②處理cjb中zscj字段為NULL或非數(shù)字字符的情況。③bkcj和cxcj成績不能為非數(shù)字字符,如“緩考”、“曠考”等。
三、計算課程成績績點(diǎn)系數(shù)
課程成績績點(diǎn)系數(shù)按以下規(guī)則計算:正考和重修成績按實(shí)際成績處理,利用表1計算績點(diǎn)系數(shù);補(bǔ)考成績>=60按60分計算,績點(diǎn)系數(shù)為1.0,否則按0分計算,績點(diǎn)系數(shù)為0。
計算畢業(yè)班級的所有學(xué)生的主修專業(yè)的所有必修課程的成績績點(diǎn)系數(shù),并把結(jié)果放在另一個新建表中,即cjb_jdxs(成績績點(diǎn)系數(shù)表)。
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,——期末正考成績績點(diǎn)系數(shù)
case
when bkcj is null or bkcj<60 then 0
when bkcj>=60 then 1.0
end
as bkcjxs,——補(bǔ)考成績績點(diǎn)系數(shù)
case
when cxcj is null or cxcj<60 then 0
when cxcj>=60 then round((cxcj-50)/10,1)
end
as cxcjxs——重修成績績點(diǎn)系數(shù)
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班' )。
四、學(xué)業(yè)成績審查
我校畢業(yè)生學(xué)位授予的條件是在畢業(yè)的前提下,主修專業(yè)的所有必修課程的平均學(xué)分績點(diǎn)>=2.0。
1.計算課程的最終績點(diǎn)系數(shù)。利用oracle橫向取最大值函數(shù)greatest(col1,col2,col3...),求出正考成績績點(diǎn)系數(shù)、補(bǔ)考成績績點(diǎn)系數(shù)、重修成績績點(diǎn)系數(shù)三者的最大值,即為該門課程的最終績點(diǎn)系數(shù)。將數(shù)據(jù)結(jié)果放在cjb_zzjdxs表中。
create table cjb_zzjdxs as
select xh,xf,greatest(zscjxs,bkcjxs,cxcjxs)as zzjdxs from cjb_jdxs。
2.計算每個學(xué)生的平均學(xué)分績點(diǎn)(GPA)。利用SQL語句的分組統(tǒng)計功能,計算每個學(xué)生的平均學(xué)分績點(diǎn),四舍五入保留兩位小數(shù)。將數(shù)據(jù)結(jié)果放在gpab表中。
create table gpab as
select xh,round(sum(xf* zzjdxs)/sum(xf),2) gpa from cjb_zzjdxs group by xh。
3.篩選出平均學(xué)分績點(diǎn)<2.0的學(xué)生。select xh,gpa from gpab where gpa <2.0.
可以利用多表查詢的方法查找平均學(xué)分績點(diǎn)<2.0的學(xué)生的其他基本信息。
例如:select b.xh,b.xm,b.xzb from gpab a,xsjbxb b where a.gpa <2.0 and a.xh=b.xh。
五、總結(jié)
我校每年畢業(yè)生有4000人左右,在畢業(yè)學(xué)期,需要對其進(jìn)行授位資格審查,其中學(xué)生的GPA審查工作極其重要。實(shí)踐表明,利用本文中介紹的方法將使畢業(yè)和授位審查工作在極短的時間內(nèi)完成,且不易出錯;并能解決各高校差異化的要求。
參考文獻(xiàn):
[1]宋建軍.高校教學(xué)管理系統(tǒng)使用中存在的問題及對策[J].重慶科技學(xué)院學(xué)報(社會科學(xué)版),2010,(16):151-153.
[2]張巧航.高校教學(xué)管理系統(tǒng)的應(yīng)用和改進(jìn)意見福建電腦[J].2011,(12):138-140.
[3]蘇兆斌,李天鷹.我國學(xué)位授予審核現(xiàn)狀分析及改進(jìn)意見[J].現(xiàn)代教育管理,2011,(6):101-104.
[4]劉銘,高楊,孟令艷.正方現(xiàn)代教學(xué)管理系統(tǒng)在實(shí)際應(yīng)用中常見問題解析J].教育教學(xué)論壇,2012,(17):175-177.
[5]丁士鋒.Oracle PL/SQL從入門到精通[M].北京:清華大學(xué)出版社,2012.
[6]績點(diǎn)系數(shù)和平均學(xué)分績的計算辦法[EB/OL].2008-07-03](2013-06-11).
http://jw.qust.edu.cn/readnews.asp?ArticleID=1212.
基金項目:重慶市高等教育教學(xué)改革研究項目重大專項(09-1-012)。
end
as bkcjxs,——補(bǔ)考成績績點(diǎn)系數(shù)
case
when cxcj is null or cxcj<60 then 0
when cxcj>=60 then round((cxcj-50)/10,1)
end
as cxcjxs——重修成績績點(diǎn)系數(shù)
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班' )。
四、學(xué)業(yè)成績審查
我校畢業(yè)生學(xué)位授予的條件是在畢業(yè)的前提下,主修專業(yè)的所有必修課程的平均學(xué)分績點(diǎn)>=2.0。
1.計算課程的最終績點(diǎn)系數(shù)。利用oracle橫向取最大值函數(shù)greatest(col1,col2,col3...),求出正考成績績點(diǎn)系數(shù)、補(bǔ)考成績績點(diǎn)系數(shù)、重修成績績點(diǎn)系數(shù)三者的最大值,即為該門課程的最終績點(diǎn)系數(shù)。將數(shù)據(jù)結(jié)果放在cjb_zzjdxs表中。
create table cjb_zzjdxs as
select xh,xf,greatest(zscjxs,bkcjxs,cxcjxs)as zzjdxs from cjb_jdxs。
2.計算每個學(xué)生的平均學(xué)分績點(diǎn)(GPA)。利用SQL語句的分組統(tǒng)計功能,計算每個學(xué)生的平均學(xué)分績點(diǎn),四舍五入保留兩位小數(shù)。將數(shù)據(jù)結(jié)果放在gpab表中。
create table gpab as
select xh,round(sum(xf* zzjdxs)/sum(xf),2) gpa from cjb_zzjdxs group by xh。
3.篩選出平均學(xué)分績點(diǎn)<2.0的學(xué)生。select xh,gpa from gpab where gpa <2.0.
可以利用多表查詢的方法查找平均學(xué)分績點(diǎn)<2.0的學(xué)生的其他基本信息。
例如:select b.xh,b.xm,b.xzb from gpab a,xsjbxb b where a.gpa <2.0 and a.xh=b.xh。
五、總結(jié)
我校每年畢業(yè)生有4000人左右,在畢業(yè)學(xué)期,需要對其進(jìn)行授位資格審查,其中學(xué)生的GPA審查工作極其重要。實(shí)踐表明,利用本文中介紹的方法將使畢業(yè)和授位審查工作在極短的時間內(nèi)完成,且不易出錯;并能解決各高校差異化的要求。
參考文獻(xiàn):
[1]宋建軍.高校教學(xué)管理系統(tǒng)使用中存在的問題及對策[J].重慶科技學(xué)院學(xué)報(社會科學(xué)版),2010,(16):151-153.
[2]張巧航.高校教學(xué)管理系統(tǒng)的應(yīng)用和改進(jìn)意見福建電腦[J].2011,(12):138-140.
[3]蘇兆斌,李天鷹.我國學(xué)位授予審核現(xiàn)狀分析及改進(jìn)意見[J].現(xiàn)代教育管理,2011,(6):101-104.
[4]劉銘,高楊,孟令艷.正方現(xiàn)代教學(xué)管理系統(tǒng)在實(shí)際應(yīng)用中常見問題解析J].教育教學(xué)論壇,2012,(17):175-177.
[5]丁士鋒.Oracle PL/SQL從入門到精通[M].北京:清華大學(xué)出版社,2012.
[6]績點(diǎn)系數(shù)和平均學(xué)分績的計算辦法[EB/OL].2008-07-03](2013-06-11).
http://jw.qust.edu.cn/readnews.asp?ArticleID=1212.
基金項目:重慶市高等教育教學(xué)改革研究項目重大專項(09-1-012)。
end
as bkcjxs,——補(bǔ)考成績績點(diǎn)系數(shù)
case
when cxcj is null or cxcj<60 then 0
when cxcj>=60 then round((cxcj-50)/10,1)
end
as cxcjxs——重修成績績點(diǎn)系數(shù)
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班' )。
四、學(xué)業(yè)成績審查
我校畢業(yè)生學(xué)位授予的條件是在畢業(yè)的前提下,主修專業(yè)的所有必修課程的平均學(xué)分績點(diǎn)>=2.0。
1.計算課程的最終績點(diǎn)系數(shù)。利用oracle橫向取最大值函數(shù)greatest(col1,col2,col3...),求出正考成績績點(diǎn)系數(shù)、補(bǔ)考成績績點(diǎn)系數(shù)、重修成績績點(diǎn)系數(shù)三者的最大值,即為該門課程的最終績點(diǎn)系數(shù)。將數(shù)據(jù)結(jié)果放在cjb_zzjdxs表中。
create table cjb_zzjdxs as
select xh,xf,greatest(zscjxs,bkcjxs,cxcjxs)as zzjdxs from cjb_jdxs。
2.計算每個學(xué)生的平均學(xué)分績點(diǎn)(GPA)。利用SQL語句的分組統(tǒng)計功能,計算每個學(xué)生的平均學(xué)分績點(diǎn),四舍五入保留兩位小數(shù)。將數(shù)據(jù)結(jié)果放在gpab表中。
create table gpab as
select xh,round(sum(xf* zzjdxs)/sum(xf),2) gpa from cjb_zzjdxs group by xh。
3.篩選出平均學(xué)分績點(diǎn)<2.0的學(xué)生。select xh,gpa from gpab where gpa <2.0.
可以利用多表查詢的方法查找平均學(xué)分績點(diǎn)<2.0的學(xué)生的其他基本信息。
例如:select b.xh,b.xm,b.xzb from gpab a,xsjbxb b where a.gpa <2.0 and a.xh=b.xh。
五、總結(jié)
我校每年畢業(yè)生有4000人左右,在畢業(yè)學(xué)期,需要對其進(jìn)行授位資格審查,其中學(xué)生的GPA審查工作極其重要。實(shí)踐表明,利用本文中介紹的方法將使畢業(yè)和授位審查工作在極短的時間內(nèi)完成,且不易出錯;并能解決各高校差異化的要求。
參考文獻(xiàn):
[1]宋建軍.高校教學(xué)管理系統(tǒng)使用中存在的問題及對策[J].重慶科技學(xué)院學(xué)報(社會科學(xué)版),2010,(16):151-153.
[2]張巧航.高校教學(xué)管理系統(tǒng)的應(yīng)用和改進(jìn)意見福建電腦[J].2011,(12):138-140.
[3]蘇兆斌,李天鷹.我國學(xué)位授予審核現(xiàn)狀分析及改進(jìn)意見[J].現(xiàn)代教育管理,2011,(6):101-104.
[4]劉銘,高楊,孟令艷.正方現(xiàn)代教學(xué)管理系統(tǒng)在實(shí)際應(yīng)用中常見問題解析J].教育教學(xué)論壇,2012,(17):175-177.
[5]丁士鋒.Oracle PL/SQL從入門到精通[M].北京:清華大學(xué)出版社,2012.
[6]績點(diǎn)系數(shù)和平均學(xué)分績的計算辦法[EB/OL].2008-07-03](2013-06-11).
http://jw.qust.edu.cn/readnews.asp?ArticleID=1212.
基金項目:重慶市高等教育教學(xué)改革研究項目重大專項(09-1-012)。