关于关系代数运算与SQL语句等价实现分析与研究.docVIP

关于关系代数运算与SQL语句等价实现分析与研究.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文档。上传文档
查看更多
关于关系代数运算与SQL语句的等价实现的分析与研究 谢英辉1 邓子云 2 (1.长沙民政职业技术学院, 湖南 长沙 410004;2.湖南现代物流职业技术学院 [摘 要] 关系代数运算是关系型数据库原理课中的重点内容,也是学者在学习过程中最抽象而最难掌握的内容,关系数据库是以二维表形式组织数据,它是目前数据库管理系统的主导SQL语言是国际化标准组织(ISO)批准的关系数据库标准语言,它包括定义(Definition),查询(Query),操纵(Manipulation)和控制(Control)四方面功能SQL 语句来实现关系代数运算中的各种等价运算,从实践应用的基础上来加深学者关系代数运算原理的理解。 [关键词] 关系型数据库;SQL语言;关系代数运算; 数据库原理计算机专业的一门非常重要的专业课,关系代数运算是该课程的重点和难点,SQL语言是对在实际的数据库中数据进行管理和维护的唯一语言,在实际的应用中非常灵活,而关系代数运算是对SQL语言实践操作应用的理论升华,为其提供理论基础,因此,对于学者来说,需要理论与实践结合来学习,而在目前一般的数据库原理书本中,总体上是先介绍理论知识,然后用一个结果数据图表示相关关系运算的结果,没有一个相关的SQL语句的实现来说明这个结果的产生过程,这给初学者带来了学习上的极大困难,因此用SQL语句来实现关系代数运算显得尤为重要,能够帮助学者掌握SQL 语句用法的同时来理解和掌握关系代数的运算理论知识,更好地掌握数据库的设计和数据管理。 一、传统的集合运算S Q L 语句实现 传统的集合运算包括四种运算:并()、交(∩)、差(—)、广义笛卡尔积(X)。并(Union)设关系R和关系S具有相同的目n,且相应的属性取自同一个域。则关系R和关系S的并记为RS,其结果仍为n目关系,由属于R或属于S的元组组成。如R和S的元组分别用两个圆表示则RS的集合如图.1所示虚影部分元组。 图.1 集合RS集合SQL 语句 Select * from R Union Select *from S 数据示例 关系R: 商品代码 子公司代码 品名 数量 单价 1 Comp1 钢笔 50 10.00 2 Comp1 圆珠笔 200 6.00 商品代码 子公司代码 品名 数量 单价 1 Comp1 钢笔 50 10.00 5 Comp2 练习本 200 3.00 6 comp2 信笺 1000 3.00 R∪S运算结果商品代码 子公司代码 品名 数量 单价 1 Comp1 钢笔 50 10.00 2 Comp1 圆珠笔 200 6.00 5 Comp2 练习本 200 3.00 6 comp2 信笺 1000 3.00 交(Intersection)设关系R和关系S具有相同的目n,且相应的属性取自同一个域。关系R和关系S的交记为R∩S,结果仍为n目关系,由既属于R又属于S的元组组成。如R和S的元组分别用两个圆表示, 则R∩S集合运算结果可用图.2示意,则两圆相交部分元组表示R与S的交R 同时又属于S的记录构成的集合。 图.2 集合R∩S L 语句 Select R.学号 from R,S where R. 学号=S. 学号and R.课程名=S. 课程名and R.分数=S.分数 或 Select R.学号,R.课程名,R.分数 from R INTERSECT Select S.学号,S.课程名,S.分数 from S 数据示例 关系R: 学号 课程名 分数 1 数学 80 1 英语 85 1 政治 90 2 数学 85 2 英语 80 2 政治 90 关系S: 学号 课名 分数 1 数学 80 1 英语 85 1 政治 92 2 数学 85 2 英语 80 2 政治 90 R∩S结果: 学号 课名 分数 1 数学 80 1 英语 85 2 数学 85 2 英语 80 2 政治 90 差运算(Difference) (1)概述 设关系R和关系S具有相同的目n,且相应的属性取自同一个域。定义关系R和关系S的差记为R-S,其结果仍为n目关系,由属于R而不属于S的元组组成。  如R和S的元组分别用两个圆表示,则R-S的集合如图.3所示。比较图.2和图.3,显然R=(R∩S)(R-S)或R-S=R-(R∩S)R 但不属于S 的记录构成的集合,去掉重复的记录。 图. 集合R-SSQL语句 Select R. 学号,R. 课程名,R. 分数 from R EXCEPT Select S. 学号,S. 课程名,S. 分数 from S 或 select 学号, 课程名, 分数From R CWHERE 学号 NOT IN (Select R.学号 from R,S wh

文档评论(0)

ipad0c + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档