关系代数习题参考

  • 格式:doc
  • 大小:35.00 KB
  • 文档页数:2

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、设教学库中有三个关系:

学生关系S(S#,SNAME,AGE,SEX)

学习关系SC(S#,C#,GRADE)

课程关系C(C#,CNAME,TEACHER)

下面用关系代数表达式表达各个查询语句

1.检索学习课程号为C2的学生学号与成绩。πS#,GRADE(σC#=‘C2’(SC))

2.检索学习课程号为C2的学生学号与姓名。πS#,SNAME(σC#=‘C2’(S∞SC))

3.检索选修课程名为MATHS的学生学号与姓名。πS#,SNAME(σCNAME=‘MATHS’( S∞SC∞C))

4.检索选修课程号为C2或C4的学生学号。πS#(σC#=‘C2’∨C#=‘C4’(SC))

5.检索不学C2课的学生姓名与年龄。πSNAME,AGE(S)-πSNAME,AGE( σC#=‘C2’( S∞SC))

6.检索学习全部课程的学生姓名。

学生选课情况:πS#,C#(SC)全部课程:πC#(C)

学了全部课程的学生的学号用除操作,结果是学号S#集:πS#,C#(SC)÷πC#(C)

从S#求学生姓名,可用自然联接和投影组合操作:

πSNAME(S∞(πS#,C#(SC)÷πC#(C)))

二、设有一个数据库:

学生关系模式:S(学号S#,姓名SNAME,年龄AGE,性别SEX)

学生课程模式:SC(学号S#,课程号C#,成绩GRADE)

课程关系模式:C(课程号C#,课程名CNAME,教师TEACHER)

试用关系代数表达式表示下列查询语句:

1.检索年龄大于20岁的男学生的学号、姓名。πS#,SNAMEσAGE>20∧SEX=”男”(S)

2.检索田老师所授课程的课程号、课程名πC#,CNAMEσTEACHER=”田老师”(C)

3.检索全部学生都选修的课程的课程号、课程名。

所有的学生:πS#(S);所有学生选修课程的情况:πS#,C#(SC)

这里需要确定:哪一门课程包含了所有的学生

πS#,C#(SC) ÷πS#(S),该结果集是C#

求C#,CNAME可用投影和自然连接:

πC#,CNAME(C∞(πS#,C#(SC)÷πS#(S)))

可简化为:πC#,CNAME,S#(SC∞C) ÷πS#(S)