计算机等级三级数据库历年真题论述题详解[5]

文章作者 100test 发表时间 2007:08:13 11:49:17
来源 100Test.Com百考试题网


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

答案:
  (1).第(1)和(2)两个SQL语句能被成功执行;第(3)个SQL语句不能被成功执行。
  (2).因为对视图的修改最终要转换为对基本表的修改。
  Ⅰ对于第(1)个SQL语句能被成功执行的理由是:执行这个SQL语句将转换成执行如下的SQL语句:
  0updateSsetSNAME=’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语句不能被成功执行。

(2004年)


  设某商品-销售数据库中的信息有:员工员、员工名、工资、销售组名、销售组负责人、商品号、商品价、单价、销售日期、销售量、供应者号、供应者名、供应者地址。假定:一个员工仅在一个销售组;一个销售组可销售多种商品,一种商品只能由一个组销售;一种商品每天有一个销售量;一个供应者可以供应多种商品,一种商品可以多渠道供货。
要求完成下列各题:
  (1)根据以上信息,给出E-R图。(10分)
  (2)按规范化要求设计出3NF的数据库模式。(10分)
  (3)给出数据库模式中每个关系模式的主键和外键。(5分)
  (4)在所设计的数据库模式上,检索累计销售总额超过50000元的商品号、商品名、销售总额,并按商品号排序。(5分)

答案:
  (1)E-R模型(10分.每个实体1分,包括属性.每个联系2分,包括联系类型.)
  (2)3NF的关系模式:(10分)
  R1(员工号,员工名,工资,销售组名).(2分,没有销售组名扣1分)
  R2(销售组名,销售组负责人).(1分)
  R3(商品号,商品名,单价,销售组名).(2分,没有销售组名扣1分)
  R4(商品号,销售日期,销售量).(2分)
  R5(供应者号,供应者名,供应者地址).(1分)
  R6(商品号,供应者号).(2分)
  注:若R1,R3分为二个模式,也要扣1分.
  (3)主键(3分)外键(2分)
  R1员工号
  R2销售组名
  R3商品号销售组名
  R4商品号,销售日期商品号
  R5供应者号
  R6商品号,供应者号商品号,供应者号
  (4)(5分)
  SelectR3.商品号,商品名,sum(销售量)*单价(1分)
  FromR3,R4whereR3.商品名=R4.商品名(1分)
  GroupbyR3.商品名havingsum(销售量)*单价>50000(2分)
  OrderbyR3.商品名(1分)


src="/ncre/js/wxgg.js">

相关文章


全国计算机等级考试三级数据库技术考试历年真题
计算机等级考试三级数据库历年真题解析[1]
2006年9月全国计算机等级考试三级数据库技术考试真题答案
2006年4月全国计算机等级考试三级数据库技术考试真题
计算机等级三级数据库历年真题论述题详解[5]
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛