关系代数表达式写法的新教学方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关系代数表达式写法的新教学方法
摘要:在《数据库系统原理》的教学中,重难点之一是利用关系代数语言表示关系的查询操作。该文提出了一种基于人眼移动的关系代数表达式书写方法,该方法将抽象难懂的数学概念转换为学生易于理解的方式,有助于学生理解关系代数表达式的结构,并快速正确地书写关系代数表达式,在实际教学中取得了良好的效果。
关键词:关系代数;数据库;计算机教育
中图分类号:tp3 文献标识码:a 文章编号:1009-3044(2013)03-0550-03
1 概述
关系模型[1]是目前最重要的一种数据模型,也是数据库系统原理课程中的重点教学内容。关系模型的数据操作主要包括:查询和增删改,其中查询操作的关系代数语言表示在以往教学中最为困难。由于学生缺少良好的数学基础和对关系模型的结构化认识,即使通过大量的练习题训练,也很难掌握关系代数表达式书写的要领。尤其是面对复杂的查询请求时,经常出现不知道采用何种运算的尴尬。目前的教学方法主要包括:基于查询树的五步分析法[2]、实例教学法[3]以及与整数除法类比的教学方法[4]等。本文根据作者在实际教学环节中的经验,提出了一种基于人眼移动的新的教学方法,有助于学生对于关系代数的理解,并在教学中取得了良好的效果。
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以及人眼先移动的过程先书写子表达式,在后续查询优化的教学中也便于学生理解连接操作优化的
启发式规则的核心思想——减少比较次数。
在近两年的教学实践中,应用该方法后,学生在期末考试以及后续的数据库系统原理课程设计以及毕业设计中对关系代数表达式
的认识和运用的水平有了明显提升。
参考文献:
[1] 王珊,萨师煊.数据库系统概论[m].4版.北京:高等教育出版社,2006.
[2] 董兆安.关系代数表达式的一般写法[j].计算机教育,2009(4):118-119.
[3] 王艳,元昌安.关系代数运算综合应用的教学方法研究与实践[j].广西师范学院学报:自然科学版,2011,28(2):106-111.
[4] 陆熊,陈燕,黄晓梅,等. 关系代数中除法运算的教学探讨[j].现代计算机:专业版,2010(10):42-44.