数据库关系代数

现在有关系模式如下所示:

Department(dNo,dName,officeRoom,homePage)
Student(sNo,sName,sex,age,dNo)
Course(cNo,cName,cPNo,credit,dNo)
SC(sNo,cNo,score,recorddate)

一、基本查询
1、查询所有年龄小于18岁的男生姓名
π s n a m e ( σ a g e < 18 s e x = m a n ( s t u d e n t ) )
2、查询所有学分大于3的课程名称
π c n a m e ( σ c r e d i t > 3 ( c o u r s e ) )
3、查询所有没有先修课的课程名称
π c n a m e ( σ c P N o i s n u l l ( c o u r s e ) )
二、连接查询
1、查询“信息学院”所有学生姓名
π s n a m e ( ( σ d n a m e = 信息学院 ( d e p a r t m e n t ) ) s t u d e n t )
2、查询所有具有不及格记录的学生姓名
π s n a m e ( ( σ s c o r e < 60 ( S C ) ) s t u d e n t )
3、查询“信息学院”所有年龄小于18岁的女生姓名
π s n a m e ( ( σ a g e < 18 s e x = f e m a l e ( s t u d e n t ) ) ( σ d n a m e = 信息学院 ( d e p a r t m e n t ) ) )
4、查询所有选修了“数据库”课程的学生姓名
π s n a m e ( π c n o ( π c n a m e = 数据库 ( c o u r s e ) ) S C s t u d e n t )
5、查询“信息学院”所有选修了“科学技术简史”课程的学生姓名
π s n a m e ( π s n o ( σ c n a m e = 科学技术简史 ( c o u r s e ) ) S C s t u d e n t ( π c n a m e = 信息学院 ( d e p a r t m e n t ) ) )
6、查询选修了“数据结构”课程并且不及格的学生姓名
π s n a m e ( π c n o ( σ c n a m e = 数据结构 ( c o u r s e ) ) ( σ c r e d i t < 60 ( S C ) ) s t u d e n t )
7、查询“计算机学院”选修了“概率论”课程且成绩大于等于80分的学生姓名
π s n a m e ( ( σ d n a m e = 计算机学院 π c n o ( σ c n a m e = 概率论 ( c o u r s e ) ) ( σ s c o r e 80 ( S C ) ) s t u d e n t )
8、查询“文学院”开设的所有学分大于等于3的课程名称
π c n a m e ( ( σ d n a m e = 文学院 ( d e p a r t m e n t ) ) σ c r e d i t 3 ( c o u r s e ) ) )
9、查询“信息学院”所有选修了“数据库”课程并且不及格的学生姓名及分数

π s n a m e , s c o r e ( ( σ d n a m e = 信息学院 ( d e p a r t m e n t ) ) ( π c n o ( σ c n a m e = 数据库 ( c o u r s e ) ) ) ( σ s c o r e < 60 ( S C ) ) s t u d e n t )

10、查询“王强”同学所选修的全部课程名称、学分以及开课学院。
π c n a m e , c r e d i t , d n a m e ( π c n o ( σ s n a m e = 王强 ( s t u d e n t ) S C ) c o u r s e d e p a r t m e n t )
三、综合查询
1、查询选修了“数据库”或者选修了“算法”课程的学生姓名
π s n a m e ( σ c n a m e = 数据库 c n a m e = 算法 ( c o u r s e ) ) S C s t u d e n t )
2、查询选修了“数据库”并且选修了“算法”课程的学生姓名
π s n a m e ( ( π s n o , c n o ( S C ) ÷ ( σ c n a m e = 数据库 c n a m e = 算法 ( c o u r s e ) ) s t u d e n t )
3、查询选修了“数据库”但没有选修“算法”课程的学生姓名
π s n a m e ( ( π s n o ( σ c n a m e = 数据库 ( c o u r s e ) ) S C ) ( π s n o ( σ c n a m e = 算法 ( c o u r s e ) ) S C ) ) s t u d e n t )
4、查询没有选修“算法”课程的学生姓名
π s n a m e ( s t u d e n t ) π s n a m e ( σ c n a m e = 算法 ( c o u r s e ) S C s t u d e n t )
5、查询仅仅选修了“算法”一门课程的学生姓名
π s n a m e ( ( π s n o ( S C ) π s n o ( π c n a m e < > 算法 ( c o u r s e ) S C ) ) s t u d e n t )
6、查询选修了“信息学院”开设的所有课程的学生姓名
π c n o , s n a m e ( S C s t u d e n t ) ÷ π c n o ( ( σ d n a m e = 信息学院 ( d e p a r t m e n t ) ) c o u r s e )
7、查询选修了所有学分大于3课程的学生姓名
π s n a m e ( π c n o , s n o ( S C ) ÷ π c n o ( σ c r e d i t > 3 ( c o u r s e ) ) s t u d e n t )
8、查询“数据库”课程所有不及格学生姓名及所在学院
π s n a m e , d n a m e ( ( π s n o ( σ c n a m e = 数据库 ( c o u r s e ) σ s c o r e < 60 ( S C ) ) s t u d e n t d e p a r t m e n t ) )
9、查询“数据库”先修课的课程名称
π c n a m e ( π c p n o ( σ c n a m e = 数据库 ( c o u r s e A S C 1 ) ) C 1. c p n o = C 2. c n o ( c o u r s e A S C 2 ) )
10、查询先修课为“数据库”的课程名称
π c n a m e ( π c p n o ( σ c n a m e = 数据库 ( c o u r s e A S C 1 ) ) C 1. c n o = C 2. c p n o ( c o u r s e A S C 2 ) )

猜你喜欢

转载自blog.csdn.net/github_39402773/article/details/81228484