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

为学校中学生选课管理这个现实问题进行数据库模式设计。根据调查分析,确定它的属性集合为: 
    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分)

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

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

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

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

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