当前位置:首页 >> IT/计算机 >>

SQL Server数据库技能测评方案的设计与实现_图文

第26卷第1 1期 2009年1 1月

计算机应用与软件
Computer Applications and Software

V01.26

No.1 l

Nov.2009

SQL Server数据库技能测评方案的设计与实现
陈尧妃
(金华职业技术学院

陈焕通
浙江金华321007)





针对现有SQL Server技能测评系统缺乏的现状,提出了技能测评方案.采用逻辑形式化方法实现阅卷控制信息的描述,

重点介绍了逻辑形式化的描述结构,数据库对象信息获取以及数据库对象创建,修改,删除操作的评判规则.使用系统表方法实现 数据库对象信息获取,采用逻辑形式化方法实现SQL Server数据库技能测评自动阅卷. 关键词 系统表
技能测评 SQL Server 自动阅卷

DESIGN AND REALIZATIoN oF SKILLS

ASSESSMENT

SCHEME

FoR SQL SERVER DATABASE

Chen Yaofei
(Jinhua
College

Chen Huantong 321007,Zhefiang,Chinal

of Pr西s3ion

and

Technob.,gy,.Knhua

Abstract mal method
is

Aiming used
to

at

the lack of skills assessment system

in

SQL Server.a skills assessment scheme for SQL Server is proposed.Logic for.
on

descript the control information of automatic marking.The importance is placed of the operation information of database and the

introducing the description

structure

of logic formal,the base

access

judging

rules of creating,modifying and deleting operations of data'
to

objects.The system table method is used in obtaining the information database objects,and the logic formal method is used

achieve

flu.

tomatic marking of Keywords

SQL

Server database skills assessment.

System table

Skills

assessment

SQL Server

Automatic marking

0引



前提是数据库系统必须支持VBA对象访问,否则同样不适用. 对于SQL Server而言,微软没有提供SQL Server数据库文 档说明书,这种保护格式无法通过直接分析数据库二进制文件 提取操作信息.同时SQL Server数据库也没有提供VBA对象 访问,因此无法使用VBA对象提取数据库信息.但是SQL Server数据库带有若干张系统表,这些系统表存储r当前数据 库内所有数据库对象的信息.因此通过分析SQL Server系统表 实现操作信息提取,从而实现SQL Server数掂库技能操作自动 测评是一种可行方案. 2

随着计算机应用的普及和教育教学改革的进一步深入,提 高学生实践技能已经成为培养职业技能素质的重要环节.目前 高校数据库课程教学越来越注重实践操作,而课程考试仅局限 于理沧知识的纸质测评?解决此问题的根本出路在于实现数据 库技能操作测评的自动化.技能操作测评是汁算机辅助洲评
CAA(Computer
Assisted

Assessment)领域中一个重点研究方

防.2.目前研究比较薄弱,尤其缺乏一般性的理论与方法,
现有的数据库技能测评系统都是针对VI"1P和Access数据库,而
针对SQL Server的技能测评系统相当匮乏.实阳:上SQL Server

SQL Server系统表介绍
SQI.Server足一种可伸缩的高性能数据库管理系统,专为

数据库在高校教学,技能考证,工程开发等方面应用相当广泛, 因此研究SQI.Server数据J车技能测评具有重要意义,,

分布式客户机/服务器环境而设计.在SQ[.Server中所有的系 统信息,对象信息都以特定的格式存储在数据库的系统表中. Master系统数据库有13个单独的全局系统表,每个用户数据库 含有18个相同名称和结构的系统表.系统表保存了当前用户 数据库所有对象的状态数据,要实现数据库技能自动测评就必 须理清系统表内部各字段的含义以及系统表间的相互关系,然 后使用关系查询实现数据库操作结果信息的提取'41.表1列出
了SQL Server技能测评中涉及的主要系统表.

1现有数据库操作信息提取技术
数据库技能测评需要提取数据库操作信息,现有VFP和 Access数据库都是通过分析考生操作结果文件实现,通过比较 考生数据库操作信息与标准操作信息的差异,给出试题得分及 出错报告.VFP数据库采用直接分析二进制文件的方法获取. Access数据库使用VBA对象方法实现操作信息获取'3.直接 分析二i进制文件力'法的前提是数据库文件格式必须是开放格 式,对于保护格式的数据库文件分析不适用:VBA对象方法的

收稿日期:2008—04—17=陈尧妃,讲师,主研领域:数据库应用与 开发.计算机辅助教育等j

万方数据

148

计算机应用与软件
表1 系统表名
sysdatabases
sysfiles

2009血

SQL Server主要系统表介绍 所属数据库 Master数据库 用户数据库 用户数据库 用户数据库 用户数据库 用户数据库 用户数据库 作用 描述数据库信息 描述数据库文件信息 描述所有数据库对象 描述表视图中的列信息 描述约束 描述外键约束 描述索引

号及由该技能点决定的获取考生技能操作数据库操作信息的必 须参数序列,②最终返回的足技能点考生操作答案.③运算符, 主要是实现操作判断的关系运算符.④标准答案,标准操作 结果. 下面以判断数据表的字段个数为例进一步说明.假设技能 操作试题要求在student数据库course表中创建cno(课程编 号),ename(课程名称),(:type(课程类型)三个字段,那么判断数 据表中字段个数的逻辑化阅卷控制表达式为"4,1={+24
studentI
course

sysobjeets
svscolumns

sysconstrains

s卜3".其中4表示技能试卷第4小题,1表示

sysforeignkeys svsindexs

1分,24表示技能点编弓',参数1指定数据库名为student,参数 2指定表名为course.如果考生按照要求诈确创建,那么{t 24l
studentl
course

s}返回值是3.显然逻辑表达式的结果为True,

3

操作正确,,

SQL Server技能测评方案设计
SQL Server技能测评方案如图l所示.主要通过三个环

信息获取阶段根据阅卷控制信息②中技能点编号,分析出 该技能点所需的参数个数,类型,信息位置等,然后使用基于系 统表提取方法从考生技能操作数据库中获取操作答案(即考生 对该技能点的操作结果).自动阅卷阶段将获取的考生操作答 案与标准答案进行指定运算并返回运算结果,根据返回结果赋 分.需要指出的是逻辑形式化描述是针对技能点的,而一个技 能操作试题往往包含很多技能点,因此必须为每一个技能点分 别设计技能点阅卷逻辑表达式.这样一个技能操作试题的最终 操作成绩就是每个技能点得分的累加.

节:①组卷:教师通过组卷程序从试题库中组成一份技能操作试 卷,同时组卷系统根据技能操作试题信息自动生成阅卷控制信 息.②技能测评:学生在考试时根据技能操作试卷操作最终生 成技能操作数据库.③自动阅卷:教师选择数据库信息提取程 序从技能操作数据库中提取信息与标准操作答案进行比较实现 自动测评.

重著
图1 SQL Server技能测评方案

4,2基于系统表数据库操作信息获取
数据库技能操作涉及的数据库对象主要有数据库,数据表,



约束,索引,视图,存储过程,触发器等.因此要实现这些数据库 对象技能操作的评判就必须获取这些对象的信息.基于系统表 提取技能操作数据库信息主要是通过关系查询系统表方法实 现.实现流程分成三个部分:①加载考生技能操作数据库;②信 息获取程序连接技能操作数据库;③根据技能试题阅卷控制表 达式中的技能点编号分析得到各个参数信息,使用关系查询系 统表获取数据库对象信息. 下面table—xxtq函数采用系统表方法实现返回所有与表格 技能点相关的提取信息,bds形参传人逻辑形式化表达式.函 数以4.1节例中"4,1=}¥24
studentI

4实现关键技术分析
自动阅卷是实现SQL Server技能测评的核心环节.自动阅 卷有两个关键技术组成:基于系统表的数据库操作信息获取和 数据库技能操作的自动阅卷.需要指出的是无论是信息获取还 是自动阅卷都依赖组卷时自动生成的阅卷控制信息.

course%}=3"逻辑表达

式的信息提取作重点分析怕1.
Prirate function Dim
cnn

table—xxtq(bds

as

string)as

string

As New ADODB.Connection.rs As New ADODB.Recordset

Dim sql Dim
str

As String As

4.1逻辑形式化阅卷控制信息结构
阅卷控制信息采用逻辑形式化描述方法实现.逻辑形式化 法是目前技能操作测评使用比较广泛的一种方法.该方法将技 能操作试题描述成一个逻辑表达式,表达式中包含技能点,该技 能点的信息提取参数,标准答案信息和评分标准等,阅卷时分析 逻辑表达式中的技能点,根据技能点从考生操作数据库中获取 参数值代人表达式计算,通过返回的布尔值判断该知识点是否 得分.逻辑形式化法的形式化描述结构如图2所示.

String,cs()As

String
.

'程序连接技能操作数据库 enn.ConnectionString="Provider=SQI.OLEDB.1;User
Source=NYIt:database=student" cnn.Open ID=sa;Data

'解析逻辑表达式②部分获取技能点编号和参数信息 str=Mid(bds,lnStr(bds,"{¥")+2,InStr(bds,"+}")一[nStr
(bds,"{+")一2) CS:Split(str,"I")
Select Case

囵题隧塑匦重匦窭匝三司匦团圆
j,

'cs(0)存放技能点编号,cs(1)…存放参数信息

cs(0)

一叠

0

4

7遍历表格技能点获取信息
Case"24"

'技能点编号24表示获取数据表字段个数信息 sysobjeet8·

图2逻辑形式化描述结构图

'关系查询系统数据库获取信息
sql="select id" sqI=8q1&一=svscoIumns.id and

说明:①x试题题号,Y试题分数.题号是为了方便后期数 据分析,分数方便出卷者控制分数.②,③,④组成一个逻辑表 达式,返回结果为True时技能点操作得分.②描述了技能点编

count(})from sysobjects,syscolumns

where

sysobjects.nanle=胛&cs(2)&胛

万方数据

第1 1期

陈尧妃等:SQL Server数据库技能测评方案的设计与实现

149

rs.Open sql,cnn,adOpenStatic,adLockReadOnly

动阅卷.基于系统表实现SQL Server技能测评对于提高数据库 技能测评自动化水平具有重要实践意义.

table_xxtq=I'S.Fields(0)

'...省略其他技能点信息提取代码
End Select rs.Close:cnn.Close:Set End funotion cnn=Nothing

参考文献
[1]许骏,柳泉波,何克抗.CAA研究的新领域——IT技能测评自动化
(上)[J].电化教育研究,2002(1):33—35.

4.3数据库技能操作的自动阅卷
(1)数据库技能操作评判规则 数据库技能操作主要有创建,修改和删除三类.每类操作 评判规则有所不同.表2是一种通用的技能测评操作评判 规则.
表2数据库技能操作自动阅卷规则 操作 创建 修改 删除 具体操作描述 在M中创建对象T 操作表达
N=Create(M.T)

[2]许骏,柳泉波,何克抗.CAA研究的新领域——IT技能测评自动化
(下)[J].电化教育研究,2002(1):44—48. 【3]李桂成,崔军.数据库操作题自动阅卷的设汁与实现[J].计算机 工程与设计,2004(25):1005—1006. [4]朱更明,李方敏.李和军.基于数据库系统表的通用查询方法[J]. 计算机工程与应用,2001(24):112—114. 操作评判规则
T
E

[5]朱贵良,许强,宋庆涛.基于培养创新能,力及浏览器模式的一种网 上测评系统没计与实现[J].计算机应用与软件,2002,19(8).

N

将M中对象T改为S N=Modify(M,T,S) 将M中对象T删除 N=Delete(M,T)

S re.N and T芒N

(上接第117页) 统工程中,实现对图像的轮廓提取,去噪等功能,着重解决了嵌 入式系统图像处理的图形交互界面问题,具有用户界面友好,图

T甚N

说明:M为操作前数据库;N为操作后数据库;T为操作对象;S为修改 后对象

像处理速度快的特点.左侧的原始图像可通过对话框进行选 择,右侧为经过形态学算法处理后的图像,相应的图像处理算法 可根据用户需要进行定制修改以适用于医学成像分析,PDA图 片浏览与处理,目标跟踪等更多应用场合.

通过表2可以发现:创建操作和删除操作只需判断操作对 象T是否存在于操作后数据库N中;修改操作需要判断修改后 对象S存在于N且原操作对象T不存在于N中即可.上述通 用规则适用于所有对象操作评判,但是具体技能操作试题则应 按照技能点逻辑形式化表达并实现自动阅卷. (2)技能操作自动阅卷实现 采用逻辑形式化自动阅卷的方法就是将基于系统表方法提 取的考生答案和逻辑形式化表达式解析得到的运算符,标准答 案进行逻辑运算,根据运算结果赋分.逻辑形式化表达式运算 实现的关键是引用"MicrosoftScript
Control

1.0"库中ScriptControl

对象的Eval函数将字符串表达式转换成VB表达式进行逻辑运 算,下面zdyj函数是实现表达式转换并实现逻辑形式化自动阅 卷功能.
}'unction

zdyj(fs

As

Integer,ksda

As

String,ysf As

String,bzda

As

String)一As

Integer

'形参fs一分数,ksda一考生答案,ysf-一运算符,bzda一标准答案
Dim StringCalc As StringCalc If End New ScriptControl

Language="VBScript" Else

StringCalc.Eval(ksda&ysf&bzda)Then zdyj=fs
Function

zdyj=0

(b)图像处理算法选择的图形交瓦界面 图2

5结论
针对现有SQL Server数据库技能测评系统缺乏,提出r
SQL Server自动测评方案.根据SQL Server数据库特点提出采

图像选择与图像处理算法选择的图形交互界面

参考文



[1]Xteam(中国)软件技术有限公司编著.Qt程序没计【M].北京:清 华大学出版社,2002, [2]王子强,刘海燕,李媛州.Linux下图形用户界面程序的开发与实 现[J].计算机应用与软件,2005,22(6):8l
83.

用基于系统表方法提取SQL Server数据库对象操作信息.该方 法较现有数据库(VFP,Access)信息获取方法(二进制文件直接 分析法,VBA对象分析法)来得简便,直观.按照数据库对象操 作特点将操作划分成创建,修改和删除三种类型,分析了三种操 作通用评判规则:采用逻辑形式化方法实现阅卷信息的形式化 表达并引用ScriptControl对象的Eval函数实现了逻辑形式化自

[3]杨淑莹,编著.Vc++图像处理程序设计[M].北京:清华大学出 版社,2003. [4]任善全.吕强,钱培德,等.嵌入式I,inux下Qt/Embedded的应用 [J].计算机应用与软1"1:,2006,23(2):105一107.

万方数据