2、现有如下三个关系学生表、课程表和选课表: S(Sno, Sname, Sage, Ssex, Sdept) C(Cno, Cname, Cpno, Ccredit) SC(Sno, Cno, Grade) A、请给出如下查询的关系代数表达式: 1)查询学号为”20101259'”的同学所没有选修的课程的课程名; 2)信息系有不及格课程的学生名单;
时间: 2024-03-19 16:41:29 浏览: 204
.分别查询学生表和学生修课表中的全部数据。
1) 查询学号为"20101259"的同学所没有选修的课程的课程名:
πCname((πCno(C) - πCno(σSno='20101259'(SC))) ⋈ C)
其中,σSno='20101259'(SC)表示选课表SC中学号为"20101259"的记录,πCno(σSno='20101259'(SC))表示选课表SC中学号为"20101259"的记录所选修的课程编号,πCno(C)表示课程表C中的所有课程编号,两者做差,得到学号为"20101259"的同学所没有选修的课程的课程编号,再与课程表C做自然连接,得到课程名。
2) 信息系有不及格课程的学生名单:
πSname(σSdept='信息系' ∧ ∃Grade<60(SC ⋈ C)))
其中,σSdept='信息系'表示从学生表S中选择所在系为信息系的学生,SC ⋈ C表示选课表SC和课程表C的自然连接,∃Grade<60(SC ⋈ C)表示选课表SC中存在课程成绩不及格的记录,最后再投影出学生姓名。
阅读全文