当前位置: 首页 > 专利查询>广西大学专利>正文

一种面向SQL查询的细化评分方法技术

技术编号:26846680 阅读:69 留言:0更新日期:2020-12-25 13:10
本发明专利技术公开了一种面向SQL查询的细化评分方法,本发明专利技术一方面利用基于正确答案SQL语句等价变换得到的等价SQL语句集实现对学生提交的不同形式答案的合理分数判定,另一方面提出对含有部分错误的学生答案进行修正并基于修正代价和修正后的答案与正确答案之间的转换代价来量化学生答案的分数。通过由多个教学班学生参与的在线SQL编程实践活动收集学生的答案数据,并基于收集的学生答案数据对相关SQL查询细化评分进行实验分析。本发明专利技术通过对教师答案的等价变化、学生答案的修正,结合后续的细化评分处理,能够在现有只能简单评判答案对错基础上提高SQL查询评判的准确度,使得SQL查询评判更加公平合理。

【技术实现步骤摘要】
一种面向SQL查询的细化评分方法
本专利技术涉及数据库技术,具体涉及一种面向SQL查询的细化评分方法。
技术介绍
数据库技术一直以来都是计算机学科的核心主干课,是否精通数据库技术也是衡量IT从业者技能的重要标准。对结构化查询语言(即SQL)的学习在数据库技术的学习过程中占有至关重要地位。与其它编程语言一样,SQL对编程实践要求很高,即需要通过大量编程实践才能真正理解与掌握SQL。在实际教学过程中,SQL编程题一般是由专业教师负责批改。然而,由教师批改SQL编程题存在以下两个重要问题。首先,SQL编程题的答案具有多样性,这无疑加重了教师的评判负担,并可能导致教师给形式不同的等价答案判以不同的分数,影响评分公平性。其次,SQL编程题的评判标准具有模糊性,教师可能给形式一致的错误答案判以不同的分数,同样影响评分公平性。可见,如何实现SQL的有效自动评分是当下数据库技术课程建设需要研究与解决的重要问题。为了降低SQL编程题的教师批改负担和提高评分的公平性,近年来VLDB、ICDE等数据库研究领域的顶级或重要学术会议上涌现出不少优秀的研究工作,实本文档来自技高网...

【技术保护点】
1.一种面向SQL查询的细化评分方法,其特征在于,包括:/n1)根据教师针对目标题目提供的SQL查询答案Q和输入的转换规则集合R进行SQL查询等价变换得到等价SQL查询答案集合Q

【技术特征摘要】
1.一种面向SQL查询的细化评分方法,其特征在于,包括:
1)根据教师针对目标题目提供的SQL查询答案Q和输入的转换规则集合R进行SQL查询等价变换得到等价SQL查询答案集合Q+;
2)根据学生针对目标题目提交的原始的SQL答案Qs和查询相关的数据字典Dict进行SQL查询修正得到修正后的SQL答案Qs,计算学生SQL答案的修正代价;
3)将修正后的SQL答案Qs进行规范化处理得到规范的SQL语句Q’s,将得到的规范的SQL语句转换为关系代数表达式进而转换得到学生SQL答案查询树;
4)针对等价SQL查询答案集合Q+中的每一个等价SQL查询答案Qi:首先对等价SQL查询答案Qi进行规范化处理得到规范的SQL语句Q’i,将得到的规范的SQL语句转换为关系代数表达式进而转换得到等价SQL查询答案查询树;然后根据学生SQL答案查询树、等价SQL答案查询树之间的编辑距离计算规范的SQL语句Q’s、规范的SQL语句Q’i之间的转换代价;根据学生SQL答案的修正代价、规范的SQL语句Q’s与规范的SQL语句Q’i间的转换代价计算得到学生SQL答案的细化分数。


2.根据权利要求1所述的面向SQL查询的细化评分方法,其特征在于,步骤1)中进行SQL查询等价变换得到等价SQL查询答案集合Q+的步骤包括:
1.1)获取教师针对目标题目提供的SQL查询答案Q和输入的转换规则集合R;
1.2)将SQL查询答案Q转换为关系代数RA(Q),将关系代数RA(Q)加入关系代数集合RAT;
1.3)若转换规则集合R为空,则跳转执行步骤1.5);否则,从转换规则集合R中遍历取出一个当前转换规则Ri,跳转执行下一步;
1.4)将关系代数RA(Q)根据当前转换规则Ri进行等价变换得到等价关系代数若等价关系代数与关系代数RA(Q)不同则将等价关系代数加入关系代数集合RAT;将关系代数集合RAT转换为SQL语句得到等价SQL查询答案并加入等价SQL查询答案集合Q+;跳转执行步骤1.3);
1.5)输出等价SQL查询答案集合Q+。


3.根据权利要求1所述的面向SQL查询的细化评分方法,其特征在于,步骤2)中进行SQL查询修正得到修正后的SQL答案Qs的步骤包括:
2.1)对学生提交的原始的SQL答案Qs进行分割得到原始的SQL答案Qs的子句集合C;
2.2)基于子句集合C修正原始的SQL答案Qs中的SQL关键字和数据库模式信息错误,基于子句集合C修正SQL答案Qs中的子句顺序错误。


4.根据权利要求3所述的面向SQL查询的细化评分方法,其特征在于,步骤2.2)中基于子句集合C修正原始的SQL答案Qs中的SQL关键字和数据库模式信息错误的步骤包括:
2.2.1A)生成数据字典Dict,所述数据字典Dict由SQL查询关键字集合Dictkey、数据库模式信息集合Dictschema构成,所述数据库模式信息集合Dictschema的数据库模式信息包括基本表名、视图名、字段名和索引名;
2.2.2A)遍历子句集合C中的子句获取当前子句Ci,若子句集合C已经遍历完毕则判定SQL关键字和数据库模式信息错误修正完毕,返回;否则跳转执行下一步;
2.2.3A)针对当前子句Ci进行分词处理得到待修正的词牌序列T;
2.2.4A)从词牌序列T中遍历获取一个当前词牌Tj,若已经遍历完毕,则跳转执行步骤2.2.2A);否则,跳转执行下一步;
2.2.5A)判断当前词牌Tj不在数据字典Dict中是否成立,若成立则跳转执行下一步;否则跳转执行步骤2.2.4A);
2.2.6A)在数据字典Dict中的SQL查询关键字集合Dictkey中基于字符串编辑距离计算得到与当前词牌Tj之间编辑距离最小的关键词EDkey,在数据字典Dict中的数据库模式信息集合Dictschema中基于字符串编辑距离计算得到与当前词牌Tj之间编辑距离最小的关键词EDschema,若关键词EDkey、关键词EDschema之差的绝对值小于预设阈值ε,则根据当前词牌Tj在子句Ci的上下文确定当前词牌Tj的修正结果得到修改后的当前词牌T’j,否则将当前词牌Tj修正为关键词EDkey、关键词EDschema两者中与其编辑距离最小的对象在数据字典Dict中元素;跳转执行步骤2.2.4A)。


5.根据权利要求3所述的面向SQL查询的细化评分方法,其特征在于,步骤2.2)中基于子句集合C修正SQL答案Qs中的子句顺序错误的步骤包括:
2.2.1B)初始化设置错误子句集合Cerror为空、不匹配子句集合Cunmatch为空;
...

【专利技术属性】
技术研发人员:许嘉莫晓琨吕品
申请(专利权)人:广西大学
类型:发明
国别省市:广西;45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1