资源描述:
《数据库第二章关系代数习题》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句: S C SCS#SNAMEAGESEX1李强23男2刘丽22女5张友22男C#CNAMETEACHERk1C语言王华k5数据库原理程军k8编译原理程军S#C#GRADE1k1832k1855k1922k5905k5845k880(1)检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。∏C#,CNAME(δTEACHER=程军(C))(2)检索年龄大于21的男学生
2、学号(S#)和姓名(SNAME)。∏S#,SNAME(δAGE>21∧SEX=男(S))(3)检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。∏SNAME((∏S#,C#(SC)÷∏C#(δTEACHER=程军(C)))S)(4)检索”李强”同学不学课程的课程号(C#)。∏C#(C)-∏C#(δSNAME=李强(S)SC)(5)检索至少选修两门课程的学号(S#)。∏S#(δ1=4∧2≠5(SC×SC))(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。∏C#,CNAME(∏S#,C#(SC)
3、÷∏S#(S)C)(7)检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。∏C#(δTEACHER=程军(C)SC)(8)检索选修课程号为k1和k5的学生学号(S#)。∏S#,C#(SC)÷∏C#(δC#=k1∨C#=k5(C))(9)检索选修全部课程的学生姓名(SNAME)。∏SNAME((∏S#,C#(SC)÷∏C#(C))S)(10)检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。∏S#,C#(SC)÷∏C#(δS#=2(SC))(11)检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAM
4、E)。∏S#,SNAME(∏S#(SC(δCNAME=C语言(C)))S)(12)检索没有一门课程成绩不及格的学生学号,姓名。∏S#,SNAME((∏S#(S)-∏S#(δGRADE<60(SC))S)2.现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)。课程(课程号,名称,学分)。学习(学号,课程号,分数)。用关系代数表达式实现下列1-4小题:1.检索"英语"专业学生所学课程的信息,包括学号、姓名、课程名和分数。∏学号,姓名,课程,分数(δ专业=英语(学生⋈课程⋈学习))2.检索"数据库原理"课程成绩高于90分的
5、所有学生的学号、姓名、专业和分数。∏学号,姓名,专业,分数(δ名称=数据库原理∧分数>90(课程⋈学生⋈学习))3.检索不学课程号为"C135"课程的学生信息,包括学号,姓名和专业。∏学号,姓名,专业(学生)-∏学号,姓名,专业(δ课程号=C135(学习)⋈学生)4.检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业。∏学号,姓名,专业(学生)-∏学号,姓名,专业(δ分数<60(学习⋈学生))3.现有关系数据库如下:学生(学号,姓名,性别,专业、奖学金)。课程(课程号,名称,学分)。学习(学号,课程号,分数
6、)。用关系代数表达式实现下列1—4小题:1.检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数。∏学号,姓名,课程名,分数(δ专业=国际贸易∧奖学金>0(学生⋈课程⋈学习))2.检索学生成绩得过满分(100分)的课程的课程号、名称和学分。∏课程号,名称,学分((δ分数=100(学习))⋈课程)3.检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。∏学号,姓名,专业(δ奖学金<=0∧分数>95(学生⋈学习))4.检索没有任何一门课程成绩在80分以下的学生的信息,包括学
7、号、姓名和专业。∏学号,姓名,专业(学生)-∏学号,姓名,专业(δ分数<80(学生⋈学习))4.设有关系S、SC和C,试用关系代数表达式完成下列操作。S(snum,sname,age,sex),例:(1,“李强”,23,‘男’)是一条数据记录。SC(snum,cnum,score),例:(1,“C1”,83)是一条数据记录。C(cnum,cname,teacher)例:(“C1”,“数据库原理”,“王华”)是一条数据记录。(1)检索“刘祥”同学不学课程的课程号。∏cnum(C)-∏cnum(δsname=刘祥(S⋈SC))(
8、1)检索有一门课程成绩在90分以上的男同学的姓名。∏sname(δscore>90∧sex=男(S⋈SC))(2)列出没有选修“人工智能”的学生名单。∏sname(S)-∏sname(δcname=人工智能(C⋈SC⋈S))(3)找出选修了袁老师教的所有课程的学生名单。∏sname(∏sn