您的位置: 首页 >> 新闻中心 >> 计算机 >> IT认证 >> 计算机等级 >> 计算机四级
全国计算机等级考试四级数据库论述题真题(2-3)
■ 最新课程推荐更多课程>>
学校培训课程开课时间上课地点精英价报名
金 同 方 计算机等级二级C++ 电话预约人大总部¥784
金 同 方 计算机等级二级JAVA 电话预约人大总部¥1470
理工文化 等级考试二级ACCESS电话预约理工大学教学¥676
新 东 方 C语言等级考试远程班滚动开班远程课堂¥98
金 同 方 计算机等级一级辅导班电话预约人大总部¥450

  5为学校中学生选课管理这个现实问题进行数据库模式设计。根据调查分析,确定它的属性集合为:
U={S#,C#,SNAME,CNAME,TEACHER,GRADE,SD}
下面给出两种确定的模式设计方案:
方案一:只有一个关系模式:
R(S#,C#,SNAME,CNAME,TEACHER,GRADE,SD)
方案二:如果根据属性之间存在的联系或相关性,建立如下三个关系:
S(S#,SNAME,SD),C(C#,CNAME,TEACHER),SC(S#,C#,GRADE)
  (1).试分析这两种模式设计方案各自的优缺点。(26分)
  (2).通常情况下你认为哪种方案更“好”些?请说明理由。(4分)

答案:
  对一个现实问题,进行关系数据库模式设计,通常其设计结果不是唯一的。每个方案有各自的优缺点。对本题可以得到如下的分析结果:
对方案一:这个关系模式存在如下问题:(每个问题4分,共16分。若只给出问题,没有说明得2.5分)
  (1).数据存在大量冗余。例如:(至少给出1项)
  S#,SNAME,SD要重复“每个学生选修的课程数”
  C#,CNAME,TEACHER要重复“学生选修这门课的人数”
  (2).更新异常。由于数据存在大量冗余,容易引起更新异常。例如,当更新某门课程的教师时,由于数据存在大量冗余,可能造成与这门课程有关的元组中,一部分元组的TEACHER的值被更新,而另一部分元组的TEACHER的值未被更新。
  (3).插入异常。显然,这个关系的主键是S#和C#。由于主键属性值不能为空值,当登记学生信息时,由于该学生尚未选课,C#未确定,该学生的其他信息也无法登入,这不是我们的意愿。
  (4).删除异常。如果某些课程因故删除了,则只选修这些课程的学生信息也被删除了,这往往也不是我们的本意,我们并不希望删除这些学生的信息。
对方案二:如果根据属性之间存在的联系或相关性,建立了三个关系,则方案一中存在的异常现象被消除了。(得5分)
  但对诸如“查找张三的数据库技术课程的成绩”之类的问题时,这需要连接这三个关系才能完成,这个查询代价高而且会影响效率。(得2.5分)
相比之下,第一个方案则可直接投影、选择就可以完成这类查询,不需要连接操作,显然代价低而且效率高。(得2.5分)
  比较这两种设计方案:本人认为第二种设计方案虽然对某些查询问题连接操作较多,但它仍比第一种方案“好”,因为它不存在上述异常问题。(得4分)

6.(2003年)在"学生-选课-课程"数据库中有三个关系: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.进程通信就是进程之间进行信息交换。系统中各进程异步执行,但有些进程之间必须保持一定的联系,以便协调一致地完成指定任务。这种联系就是通过交换一定数量的信息来实现的。 
  消息缓冲通信技术是一种高级通信机制,由Hansen首先提出。其基本思想是:根据"生产者-消费者关系"原理,利用公共消息缓冲区实现进程之间的信息交换。 
  (1)试叙述高级通信机制与低级通信机制P、V原语操作的主要区别。(5分) 
  (2)试叙述解释消息缓冲通信技术的基本原理。(10...[查看详情]

  影视动画培训   北大BEC培训官方报名网站   2008美国夏令营启航官方指定报名网站   2008留学第一站!  
  北师大 火星时代
共举影视动画培训之鼎
  北大BEC培训官方报名网站
现在报名独享95折!
  2008年国家职业资格考试
一次过关完全备考手册
  2008留学第一站
留学资讯尽在精英留学站!
 
上一篇:2005年全国计算机等级考试四级纲
下一篇:全国计算机等级考试操作系统四级论述题真题
 相关新闻
·计算机等级考试四级考试中英文术语对照(一)·2006年4月全国计算机等级考试四级纲
·全国计算机等级考试(四级)纲·计算机等级考试四级考高分的有效途径
·四级样题参考答案·计算机等级考试:四级样题
·03年全国计算机等级考试四级笔试答案·2006年全国计算机等级考试四级纲
·计算机等级考试操作系统四级论述题真题(1-1)·计算机等级考试操作系统四级论述题真题(1-2)
·计算机等级考试四级软件工程论述题真题(1-1)·计算机等级考试操作系统四级论述题真题(1-3)
·计算机等级考试四级软件工程论述题真题(1-2)·计算机等级考试四级软件工程论述题真题(1-3)
·计算机四级考试词汇·全国计算机等级考试操作系统四级论述题真题
 
◇ 重点栏目导航
◇ 精英服务承诺
教育顾问:010-51660910
QQ交流:138660910
相关资料
·二级Access重点难点分析:模块
·2008年4月全国计算机等级考试调整方案
·学习攻略:清华学生谈计算机等级考试
·全国计算机等级考试机试经验三则
·计算机等级考试应如何备考
·计算机等级考试心得:考的就是细心
·计算机等级C语言上机考试改错题分析总结
·计算机等级考试二级VB10个编程技巧
·计算机等级二级C语言程序设计100例九
·计算机等级考试二级VB的复习方法
相关试题
·计算机等级考试二级Access模拟试题1
·计算机二级VisualFoxPro笔试试卷
·计算机等级考试二级C语言模拟练习一[1]
·计算机等级考试上机模拟题(二级C语言)
·Visual FoxPro语言程序设计
·历年计算机等级考试四级
·2005年4月三级网络技术笔试试卷及答案(5)
·07年4月计算机等级考试二级VF考前试题解
·07年4月计算机等级考试二级VF考前密卷
·计算机等级考试PC技术练习题:第六章常用
相关热贴
·全国计算机等级考试——评分标准
·[分享]上机编程题算法实现精选
·2007年下半年北京市全国计算机等级考试报
·C语言初学者的十八颗“地雷”
·CFA LEVEL II介绍
·2008年全国计算机等级调整方案
·程序员如何掌握计算机英语
·Turbo C 程序设计初步
·C语言运算符的“优先级口决”
·和大家分享我自己成功的经验!