题干本题共包含 5 个小题

对于教务管理数据库中基本表SC,建立视图如下:

试判断下列查询和更新是否允许执行。若允许,写出转换到基本表SC上的相应操作

简答题1

SELECT * FROM S_GRADE

正确答案

允许查询。相应的操作如下:

答案解析

简答题2

SELECT SNO,AVG_GRADEFROM S_GRADE WHERE C_NUM>(SELECT C_NUM FROM S_GRADE SNO=’200912121’);

正确答案

允许查询。相应的操作如下:

答案解析

简答题3

SELECT SNO,C_NUMFROM S_GRADE WHERE AVG_GRADE>80;

正确答案

允许查询。相应的操作如下:

答案解析

简答题4

UPDATE S_GRADE SET C_NUM=C_NUM+1WHERE SNO=’200915122’

正确答案

不允许。C_NUM是对SC中的学生选修课程的门数进行统计,在未更改SC表时,要在视图S_GRADE中更改门数,是不可能的。

答案解析

简答题5

DELETE FROM S_GRADEWHERE C_NUM>4;

正确答案

不允许。在视图S_GRADE中删除选修课程的门数在4门以上的学生元组,势必造成SC中这些学生学习元组的删除,这不一定是用户的原意,因此使用分组和聚合操作的视图,不允许用户执行更新操作。

答案解析

相似试题
  • 使用当前数据库中的数据库表建立的视图是本地视图。

    判断题查看答案

  • 设一个图书借阅管理数据库中包括三个关系模式: 图书(图书编号,书名,作者,出版社,单价) 读者(借书证号,姓名,性别,单位,地址) 借阅(借书证号,图书编号,借阅日期,归还日期,备注) 写出SQL语句:建立“红星汽车厂”读者的视图RST。

    简答题查看答案

  • 设数据库中有三个关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)、SC(S#,C#,GRADE),请用SQL语言表示下列要求:创建视图stu_info,包含所有学生的学号、姓名、性别、年龄、选修课程号、课程名、考试成绩及任课教师。

    简答题查看答案

  • 基于“学生—选课—课程”数据库中有三个表:学生表(s)包含字段学号(S#)、姓名(sname)、性别(sex)、年龄(age);选课表(SC)包含字段课程号(c#)、学号(S#)、成绩(GRADE);课程表(c)包含字段课程号(C#)、课程名(cname)、教师(teacher)。现要将学生的学号及其平均成绩定义为一个视图,在定义该视图是,所有的SELECT语句将出现()子句。

    多选题查看答案