数据库原理课程中关系代数除运算教学探讨.docVIP

数据库原理课程中关系代数除运算教学探讨.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理课程中关系代数除运算教学探讨

数据库原理课程中关系代数除运算教学探讨   摘要:该文结合笔者多年的教学研究和实践对《数据库原理》课程中关系代数“除”运算的教学进行阐述和探讨,希望能够对该课程教学研究的发展有所帮助。   关键词:《数据库原理》课程教学;关系代数;“除”运算   中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2014)14-3338-02   1 概述   《数据库原理》是计算机学科中一门重要的必修课程乃至核心课程。该课程的目标是使学生对数据库系统的基本概念、理论和方法有准确的理解,具有一定的数据库系统设计能力,并具备利用数据库管理系统进行应用开发的基本素质。   2 关系代数概述   关系代数是教材第二章“关系数据库”的核心内容之一。当前主流的数据模型是关系模型,而关系模型的数据操作语言,亦可称之为关系数据库语言,按照表达查询的方式可以分为两类:关系代数和关系演算。   关系代数:用对关系的运算来表达查询。   关系演算:用谓词来表达查询。   在实际教学中,关系代数是重点,而关系演算以学生自学为主。   关系代数可分为两类:   一类是传统的集合运算,包括并、交、差、广义笛卡尔积四种;   另一类是专门的关系运算,包括选择、投影、连接、除。其中关系“除”运算学生最难掌握。   3 关系“除”运算的概念   给定关系[R(X,Y)]和[S(Y,Z)],其中[X、Y、Z]是属性组。[R]中的[Y]和[S]中的[Y]可以有不同的属性名,但必须具有相同的域集。   [R]与[S]的除运算得到一个新的关系[P(X)],[P]是[R]中满足下列条件的元组在[X]属性列上的投影:元组在[X]上分量值[x]的象集[Yx]包含[S]在[Y]上投影的集合。记作[R÷S={tr[X]] [tr∈R∧πY(S)?Yx]}。   4 “除”运算的运算步骤   除运算在所有的关系代数运算中是最难的一种,学生学习起来普遍感到困难,教材上并未对如何进行除运算做过多的阐述。笔者在实际教学中给出了以下一种除运算的运算步骤,取得了较好的教学效果。   1) 找两个关系的公共属性组;   2) 求象集;   3) 求投影;   4) 找包含关系。   以下举一个实例来加以说明。   设关系R和S分别为图1和图2,求R[÷]S。   按照以上的步骤:   1) 找两个关系的公共属性组;   显然,公共属性组为(B,C),即Y=(B,C),所以X=A,Z=D。   2) 求象集;   具体来说,是求X在R中的象集。按照象集的概念,不难求出:   [a1]的象集为{([b1],[c2]),([b2],[c3]),([b2],[c1])}   [a2]的象集为{([b3],[c7]),([b2],[c3])}   [a3]的象集为{([b4],[c6])}   [a4]的象集为{([b6],[c6])}   3) 求投影;   具体来说,是求S在Y上的投影。按照投影的概念,不难求出:   S在(B,C)上的投影为{([b1],[c2]),([b2],[c3]),([b2],[c1])}   4) 找包含关系。   具体来说,是看(2)中的象集哪个包含了(3)中的投影。显然,只有[a1]的象集包含了(3)中的投影,所以R[÷]S={[a1]}。   5 构造“除”运算表达式的技巧   在讲授除运算时,不仅要求学生掌握除运算的概念和方法,还要求学生能够运用除运算来实现一些实际的查询,这就对学生提出了更高的要求。很多学生对于如何构造除运算表达式来实现特定的查询感到无所适从,教材上也只给出了相应的表达式,并未说明如何来构造。笔者自己总结了一种构造除运算表达式的方法,在实际的教学中取得了良好的效果。以下举一个实例加以说明。   查询选修了全部课程的学生的学号和姓名。   以上的查询基于以下的关系数据库模式:   学生(学号,姓名,性别,年龄,院系)   课程(课程号,课程名,先修课,学分)   选修(学号,课程号,成绩)   在查询的要求里凡是含有“全部”或者“至少”等词语的,都可以考虑用除运算来解决。但是否一定用到除运算,则还要考虑是否有确定的包含关系。上述查询里有明确的包含关系:设该学生所选修课程的课程号为集合1,全部课程的课程号为集合2,如果集合1包含了集合2,则就说明该学生选修了全部课程。   下面来说明如何构造除运算表达式。   1) 写下除运算的符号[÷];   2) 构造除运算后面的关系。上述被包含的集合2即为除运算后面的关系,将该集合写成关系的形式,因此表达式为[÷][π课程号(课程)];   3) 构造除运算前面的关系。先写出基本“骨架”,[π?,β(R)÷

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档