- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关系代数表达式的书写
∏Sname(S∞(∏S#,C#(SC)÷∏C#(σteacher=“程军”(C))))说明:根据条件由课程关系得到课程号 → 由课程号在SC关系中得到学生号→ 由学生号在学生表中查找学生姓名。1、先在C关系中进行选择运算,选择关系式选出给定条件的元组。这里选出teacher=”程军”的元组,得出结果如下:C#CNAMETEACHERK5数据库原理程军K8编译原理程军2、然后在进行投影运算,投影运算是从关系中选出若干属性组组成新的关系,这里从上面得到的关系当中投影出C#的属性。得到结果如下:关系AC#K5K83、对SC关系进行投影运算,选出S#,C#这两列:关系BS#C#1K12K15K12K55K55K84、将步骤3得到的关系A和步骤2得到的关系B进行除运算。除运算的定义在课本上,这里我想简单说明此处是怎么得到的:关系A和关系B具有相同的属性名,满足除运算的条件 → 此处除运算的结果时关系A中S#的分量值,也就是说结果肯定是一个在1,2,5当中取值的集合→ 首先我们计算1的象集为{k1},2的象集为{k1,k5},5的象集为{k1,k5,k8} → B关系在C#上的投影为{k5,k8},因此这里只有5的象集{k1,k5,k8}B关系在C#上的投影为{k5,k8}。因此A关系除以B关系的结果为:关系DS#55、关系D与S关系进行自然连接运算,自然连接运算是两个关系当中进行比较的分量必须有相同的属性组,并且结果中把重复的属性组去掉。连接结果为:S#SNAMEAGESEX5张友22男6、最后从上述关系中投影SNAME得到{张友}。Sname张友∏C#(C)-∏C#(σSname=“李强”(S)∞SC)说明:首先在S关系中选出姓名为李强的元组 → 与SC关系进行连接运算在得到的新关系上进行投影运算得到李强学习的课程号 → 在课程关系中进行投影运算得到所有课程的课程号– 李强学习的课程号得到的就是李强不学习的课程号,最终结果为:{k5,k8}。∏C#,Cname(C∞(∏S#,C#(SC)÷∏S#(S))说明:解题思路:这道题目要检索学生都选修的课程号和课程名,关键就在那个“都”字上,我们知道,除运算所满足的条件:元组X上的分量值x的象集Yx包含S在Y上的投影的集合。抽象不要紧,实例化之后就能看懂了。1、首先在SC关系上选出S#和C#这两列属性得到一个新的关系我们称为A,从S关系当中选出S#这列属性得到的关系我们称为B,A和B做除运算的流程:关系AS#C#1K12K15K12K55K55K8关系BS#125首先计算k1的象集{1,2,5},k5的象集{2,5},k8的象集{5},关系B在S#上的投影{1,2,5}。由此可看出只有k1的象集{1,2,5}包含B在S#上的投影{1,2,5}。因此除运算的结果为{k1}。关系表示为:关系DC#K12、将除运算的结果关系D与题目当中的关系C进行连接运算,并选择其中的C#和Cname,最终得到C#CnameK1C语言∏S#(SC∞∏C#(σteacher=”程军”(C)))说明:从C关系当中选择teacher=“程军”的元组,在投影出课程号,然后与SC关系做连接运算,从连接运算的到的关系中选择学生号。∏Sname(S∞(∏S#,C#(SC)÷∏C#(C)))说明:这道题和上面的第三题思路是完全一样的。∏S#,Sname(S∞∏S#(SC∞∏C#(σCname=”C语言”(C))))说明:这道题的做法跟第四题也有类似之处,具体的实现细节就像1,2题那样。思路:这道题的最终要求是得到学生的学号和姓名,因此最外层肯定是∏S#,Sname()。然后就看怎么由条件得到结果。首先我们从C关系中根据Cname=”C语言”选出符合条件的元组 → 进行投影运算得到课程号{k1} → 与SC进行连接运算,再选出学生号结果为{1,2,5} → 与S关系进行连接运算再选出姓名和学号即可最终结果为:S#Sname1李强2刘丽5张友∏S#,Sname(S)-∏S#,Sname(σgread60(SC)∞S)说明:合同内容以理解,结果为:S#Sanme1李强2刘丽5张友
文档评论(0)