网站首页
分类导航
试题中心
下载中心
英语学习
缤纷校园
考试论坛
网站留言
客服中心
 计算机等级考试三级数据库历年真题解析
【字体:
计算机等级考试三级数据库历年真题解析
http://www.exam8.com 来源:考试吧(Exam8.com) 点击: 更新:2007-3-31 11:14:05

在"学生-选课-课程"数据库中有三个关系:S(S#,SNAME,SEX,AGE,SD),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)。它们的主码分别是S#,(S#,C#),C#,并且其他属性都允许为空值(NULL)。用下面的SQL语句创建了两个视图: 
    createviewCS_SasselectS#,SNAME,AGEfromS 
    whereSD=’计算机系’; 
    createviewS_G(S#,GAVG)asselectS#,avg(GRADE) 
    fromSCgroupbyS#; 
    若用下面的SQL语句对上述视图进行修改,它们能被成功执行吗?为什么? 
    (1)updateCS_SsetSNAME=’WANGPING’whereS#=’200301001’; 
    (这里假定在表S中存在学生号S#=’200301001’的行。) 
    (2)insertintoCS_Svalues(’200302189’,’YANGXIN’,21); 
    (这里假定在表S中不存在学生号S#=’200302189’的行。) 
    (3)updateS_GsetGAVG=85whereS#=’200301001’; 
    (这里假定在表SC中存在学生号S#=’200301001’的行。) 
    要求: 
    首先回答这三个SQL语句中哪个(些)能被成功执行,哪个(些)不能被成功执行(12分),再进一步说明能被成功执行或不能被成功执行的理由(18分)。 

    答案: 
    (1).第(1)和(2)两个SQL语句能被成功执行;第(3)个SQL语句不能被成功执行。 
    (2).因为对视图的修改最终要转换为对基本表的修改。 
    Ⅰ对于第(1)个SQL语句能被成功执行的理由是:执行这个SQL语句将转换成执行如下的SQL语句: 
    updateSsetSNAME=’WANGPING’ 
    whereSD=’计算机系’andS#=’200301001’; 
    Ⅱ对于第(2)个SQL语句能被成功执行的理由是:执行这个SQL语句将转换成执行如下的SQL语句: 
    insertintoSvalues(’200302189’,’YANGXIN’,NULL,21,’计算机系’) 
    或insertintoS(S#,SNAME,AGE,SD)values(’200302189’,’YANGXIN’,21,’计算机系’) 
    转换后的这两个SQL语句,在本题意的假定下是能够被成功执行的。所以第(1)和(2)个SQL语句能被成功执行。 
    Ⅲ对于第(3)个SQL语句不能被成功执行的理由是:由于视图S_G中的一个行是由表SC中若干行经过分组求平均值得到的,因此对视图S_G的更新就无法转换成对基本表SC的更新。所以第(3)个SQL语句不能被成功执行。

希望与更多计算机等级考试的网友交流,请进入计算机等级考试论坛

更多信息请访问:考试吧计算机等级考试栏目

上一页  [1] [2] [3] [4] [5] [6] 下一页

文章录入:zlj3    责任编辑:zlj3  
  • 上一篇文章:

  • 下一篇文章: 没有了
  •  版权声明
       如果本网站所转载内容不慎侵犯了您的权益,请与我们联系,我们将会及时处理。如转载本网内容,请注明出处。
     发表评论
    关于本站 网站声明 广告服务  联系方式  付款方式  站内导航  客服中心  诚聘英才  友情链接   
    Copyright © 2004-2007 考试吧 (Exam8.com) All Rights Reserved 
    中国科学院研究生院中关村园区(北京市海淀区)