您好,欢迎访问三七文档
针对教材中的学生—课程数据库,用关系代数完成以下操作:1、查询“CS”系所有学生的学号和姓名。Пsno,sname(σsdept=’CS’(student))2、查询年龄超过18岁的男生的姓名及所在系。Пsname,sdept(σssex=’男’∧sage18(student))3、查询年龄在18至20岁之间的学生信息。П*(σsage=18∧sage=20(student))4、查询不在“CS”系也不在“MA”系的学生的所有信息。П*((σsdept(student))-(σsdept=’CS’(student))-(σsdept=’MA’(student)))П*(σsdept’CS’∧sdept’MA’(student))5、查询“CS”系所有学生的平均年龄。ПAvg(sage)(σsdept=’CS’(student))6、查询没有先行课的课程名。Пcname(σcpno=’NULL’(course))7、查询先行课为“6”号课程的课程信息。П*(σcpno=’6’(course))8、查询间接先行课为“5”号课程的课程号及课程名。Пa.cno,a.cname(σb.cpno=5(couse(a)⋈couse(b))9、查询选修了“1”号课程的学生选课信息。Пsno,cno(sc)÷Пcno=’1’(sc)⋈Пsno,cno(sc)10、查询成绩为90分以上的学生姓名和课程名。Пsname,cname(σgrade'90'(student⋈sc⋈course))11、对student及sc表做等值连接。student⋈student.sno=sc.snosc12、对student及sc表做自然连接。Student⋈sc13、查询“李勇”同学所选课程的平均成绩。ПAvg(grade)(σsname=’李勇(student⋈sc))14、查询“操作系统”这门课的最高分及最低分。Пmax(grade),min(grade)(σcname=’操作系统’(course⋈sc))15、查询被选修了的课程号及课程名。Пcno,cname(course⋈sc)16、查询没有选修课程的学生学号及姓名。Пsno,sname(student)-Пsno(sc)17、查询没有选修“1”号课程的学生姓名。Пsname(student)-πsname(σcno=’1’(sc⋈student)18、查询既选修了“数据结构”又选修了“操作系统”的学生姓名。Пsname(σcname=’操作系统’∧cname=’数据结构’(sc⋈student⋈course)19、查询既选修了“2”号又选修了“4”号课程的学生学号。Пsname(σcno=2∧cno=4(sc⋈student)20、查询选修了“2”号或“4”号课程的学生学号。Пsno(σcno=2vcno=4(sc⋈student)21、查询至少选修了“95002”学生所选课程的学生学号。Пsno,cno(sc)÷Пcno(σsno=’95002’(sc))22、查询至少选修了一门其间接先行课为“7”号课程的学生姓名。Пsname(Пa.cno(σb.cpno=7(couse(a)⋈couse(b))⋈sc⋈Пsno,sname(student))23、查询选修了所有课程的学生姓名。Пsname(Пsno,cno(sc)÷Пcno(course)⋈Пsno,sname(student))24、查询“CS”系的所有学生的学号、姓名、课程名及成绩。Пsno,sname,cname,grade(σsdept=’CS’(student⋈sc⋈course)25、查询“CS”系选修课程的成绩在90分以上的所有女生的姓名、课程名和成绩。Пsname,cname,grade(σsdept=’CS’∧grade90∧ssex='女'(student⋈sc⋈coure))
本文标题:关系代数综合练习
链接地址:https://www.777doc.com/doc-5135212 .html