关系代数表达式写法的新教学方法

点赞:21391 浏览:96157 近期更新时间:2024-04-11 作者:网友分享原创网站原创

摘 要:在《数据库系统原理》的教学中,重难点之一是利用关系代数语言表示关系的查询操作.该文提出了一种基于人眼移动的关系代数表达式书写方法,该方法将抽象难懂的数学概念转换为学生易于理解的方式,有助于学生理解关系代数表达式的结构,并快速正确地书写关系代数表达式,在实际教学中取得了良好的效果.


关 键 词:关系代数;数据库;计算机教育

中图分类号:TP3文献标识码:A文章编号:1009-3044(2013)03-0550-03

1概述

关系模型[1]是目前最重要的一种数据模型,也是数据库系统原理课程中的重点教学内容.关系模型的数据操作主要包括:查询和增删改,其中查询操作的关系代数语言表示在以往教学中最为困难.由于学生缺少良好的数学基础和对关系模型的结构化认识,即使通过大量的练习题训练,也很难掌握关系代数表达式书写的要领.尤其是面对复杂的查询请求时,经常出现不知道采用何种运算的尴尬.目前的教学方法主要包括:基于查询树的五步分析法[2]、实例教学法[3]以及与整数除法类比的教学方法[4]等.本文根据作者在实际教学环节中的经验,提出了一种基于人眼移动的新的教学方法,有助于学生对于关系代数的理解,并在教学中取得了良好的效果.

关系代数表达式写法的新教学方法参考属性评定
有关论文范文主题研究: 关于数据库的论文范例 大学生适用: 在职研究生论文、研究生毕业论文
相关参考文献下载数量: 15 写作解决问题: 毕业论文怎么写
毕业论文开题报告: 论文提纲、论文选题 职称论文适用: 技师论文、职称评初级
所属大学生专业类别: 毕业论文怎么写 论文题目推荐度: 优质选题

2关系代数表达式及实例数据库

关系代数是一种抽象的查询语言,它用对关系的运算来表达查询.关系代数包括并、差、交、笛卡尔积四个传统的集合运算以及选择、投影、连接和除四个专门的关系运算.这些运算经有限次复合后形成的式子称为关系代数表达式.在实际教学中采用的实例数据库为学生课程数据库,包含三个关系分别为Student(Sno,Sname,Ssex,Sage,Sdept)、Course(Cno,Cname,Cpno,Ccredit)和SC(Sno,Cno,Grade).

3基于人眼移动的关系代数表达式书写

书写步骤主要分为两步:第一步,人工完成题目给出的查询,记录人眼目光的移动过程.第二步,利用启发式规则将人眼的移动过程翻译成关系代数表达式.启发性规则包括:

a)人眼纵向扫描满足条件的元组――选择σ.

b)人眼定位到某个元组后选择某些属性列的值――投影π.

c)人眼先进行分组,然后检查分组内的数据是否包含某集合,具有此类活动翻译成除法.

d)用一些属性值到另外一张表/同一张表(自身连接)里去找具有相同值的项配对――自然连接∞.

e)在整个过程中人眼未关注的列可以用投影π去除.

下面通过在实际教学中采用的实例来说明书写步骤.

例1:查询选修了2号课程的学生的学号.

在例1中,人眼先纵向扫描找到2号课程再横向扫描找到学号(如图1所示),因此符合启发式规则a和b,关系代数表达式为:πSno(σCno等于‘2’(SC)).

在例2中,人眼先找到每个学生选修的所有课程,即“分组”过程其实也就是求象集,同时这一过程人眼没有关注Grade列,因此可用π去除,接着人眼关注的是每一个分组是否包含1,3(如图2所示).因此,整个过程满足启发式规则c和e.关系代数表达式为:πSno,Cno(SC)÷K,且K等于{1,3}.

例3:查询至少选修了一门其直接先行课为5号课程的学生姓名.

在例3中,人眼先找到直接先行课为5号课程的课程号(如图3所示),其过程满足启发性规则a和b,第二步,人眼用“1”到SC表内进行配对,配对成功后人眼横向扫描找到学号(如图4所示),其过程满足启发性规则b、d和e.第三步,人眼用“200215121”到Student表内进行配对,配对成功后人眼横向扫描找到姓名,其过程满足启发性规则b、d和e.关系代数表达式为:πSname(πSno(πCno(σCpno等于'5'(Course))∞πSno,Cno(SC))∞πSno,Sname(Student)).

4结束语

采用基于人眼移动的关系代数表达式的书写方法,在传统的直接将查询请求转换为关系代数表达式的方式中加入了中间层次,即先让学生从查询动作的具体执行过程出发,大大降低了书写难度,便于学生理解和消化关系代数的相关原理和概念.同时,由于在整个书写过程中,强调了启发性规则e以及人眼先移动的过程先书写子表达式,在后续查询优化的教学中也便于学生理解连接操作优化的启发式规则的核心思想――减少比较次数.

在近两年的教学实践中,应用该方法后,学生在期末考试以及后续的数据库系统原理课程设计以及毕业设计中对关系代数表达式的认识和运用的水平有了明显提升.