1. 数据查询(共30分)
有关系模型:student(sno,sname,ssex,sage,sdept)
Course(cno,cname,teacher,pcno,credit)
Sc(sno,cno,grade)
(1) 查询“数据库原理”不及格的学生学号和姓名;
(2) 查询同时选修了“数据库原理”和“数据结构”的学生姓名;
(3) 查询“数据库原理”的先修课和先修课的先修课。
(4) 查询教师“张三”所授每门课程的平均成绩
要求:分别用关系代数(运算符:∪∩-╳∞πσ÷)和SQL语言完成上述查询
2. 建立一个新的表D_B_student(sno,sname,grade),用于存储选修数据库课程的不及格学生信息,请用SQL语句完成建表和写入信息的工作。(共20分)
3. 为上述表course写一个触发器,要求当删除表中数据时,如果删除后该课程的任课教师不再担任任何课程的教学工作,则拒绝本次删除,并提示“拒绝删除,因为每位教师至少应担任一门课程的教学”。(共30分)
4. 对于关系模式SCourse(cno, cname, teacher, pcno, credit, sno, sname, grade),如果有函数依赖集F{cno→(pcno, credit),cno→cname,cno→teacher,(cno,sno)→grade,sno→sname},(1)请问,F是不是SCourse的最小依赖集,为什么?
(2)有属性集X={cno,cname},试求XF+。(共20分)