- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关系代数运算练习答案.doc
关系代数表达式:
??? 由关系代数运算经有限次复合而成的式子称为关系代数表达式。这种表达式的运算结果仍然是一个关系。可以用关系代数表达式表示对数据库的查询和更新操作。
关系代数(演算)要求掌握各种语句的应用
???1:设教学数据库中有3个关系:????????? 学生关系S(SNO,SNAME,AGE,SEX)????????? 学习关系SC(SNO,CNO,GRADE)????????? 课程关系C(CNO,CNAME,TEACHER)
???? 下面用关系代数表达式表达每个查询语句。
(1) 检索学习课程号为C2的学生学号与成绩。??? πSNO,GRADE(σ CNO=C2(SC))
(2) 检索学习课程号为C2的学生学号与姓名???πSNO,SNAME(σ CNO=C2(SSC))??? 由于这个查询涉及到两个关系S和SC,因此先对这两个关系进行自然连接,同一位学生的有关的信息,然后再执行选择投影操作。
此查询亦可等价地写成:??? πSNO,SNAME(S)(πSNO(σ CNO=C2(SC)))??? 这个表达式中自然连接的右分量为学了C2课的学生学号的集合。这个表达式比前一个表达式优化,执行起来要省时间,省空间。
(3)检索选修课程名为MATHS的学生学号与姓名。??? πSNO,SANME(σ CNAME=MATHS(SSCC))
(4)检索选修课程号为C2或C4的学生学号。??? πSNO(σ CNO=C2∨CNO=C4(SC))
(5) 检索选修课程号为C2和C4的学生学号。??? π1(σ1=4∧2=C2∧5=C4(SC×SC))????? 这里(SC×SC)表示关系SC自身相乘的乘积操作,其中数字1,2,4,5都为它的结果关系中的属性序号。
? 比较这一题与上一题的差别。
(6) 检索不学C2课的学生姓名与年龄。??? πSNAME,AGE(S)-πSNAME,AGE(σ CNO=C2(SSC))??? 这个表达式用了差运算,差运算的左分量为全体学生的姓名和年龄,右分量为学了C2课的学生姓名与年龄。
(7)检索学习全部课程的学生姓名。编写这个查询语句的关系代数过程如下:(a) 学生选课情况可用πSNO,CNO(SC)表示;(b) 全部课程可用πCNO(C)表示;(c) 学了全部课程的学生学号可用除法操作表示。??????? 操作结果为学号SNO的集合,该集合中每个学生(对应SNO)与C中任一门课程号CNO配在一起都在πSCO,CNO(SC) 中出现(即SC中出现),所以结果中每个学生都学了全部的课程(这是除法操作的含义):??? πSNO,CNO(SC)÷πCNO(C)(d) 从SNO求学生姓名SNAME,可以用自然连结和投影操作组合而成:??? πSNAME(S (πSNO,CNO(SC)÷πCNO(C)))这就是最后得到的关系代数表达式。
(8) 检索所学课程包含S3所学课程的学生学号。注意:学生S3可能学多门课程,所以要用到除法操作来表达此查询语句。????? 学生选课情况可用操作? πSNO,CNO(SC)表示;????? 所学课程包含学生S3所学课程的学生学号,可以用除法操作求得:??? πSNO,CNO(SC)÷? πCNO(σ SNO=S3(SC))
?
文档评论(0)