2006年上半年数据库系统工程师级参考答案

2006年上半年数据库系统工程师考试试题:



2006年上半年数据库系统工程师级答案
上午试题答案:

下午试题答案:
试题一
[问题1]
  外部实体:(选课)学生、(任课)老师
  数据存储:作业成绩统计文件
[问题2]
 (1)(选课)学生  (2)(选课)学生 (3)(选课)学生
 (4)(选课)学生  (5) 作业成绩    (6) DB
 (7) 作业成绩统计文件 (8) 作业成绩 (9) (任课)老师
 (10) DB    (11) 作业 (12) 选课)学生 (13)(任课)老师
[问题3]
  错误1:外部实体A和B之间不能存在数据流。
  错误2:外部实体A和数据存储H之间不能存在数据流。
  错误3:加工2的输入/输出数据流名字相同
  错误4:加工4只有输入没有输出
  错误5:加工5只有输出,没有输入。
试题二
[问题1]
 (a)NOT NULL UNIQUE
 (b)CHECK(VALUE IN('男','女'))
 (c)FOREIGN KEY(客户号) REFERENCES 客户(客户号)
[问题2]
 (d)查询一次订购(或购买)产品号为02的数量大于10的客户号
 (e)π客户号(订单?σ产品号='02'^数量>10(订单明细))
 (f)可以优化。优化的SQL语句为:
 Select客户号
 FROM订单
 Where订单号IN
 (Select 订单号
  FROM 订单明细
  Where 产品号 = '02 ' AND数量>10)
[问题3]
 (g)SUM(金额)AS总额
 (h)GROUP BY 客户.客户号
 (i)ORDER BY 总额 DESC
[问题4]
 (1)Create VIEW 客户产品 AS(
    Select 客户号,产品号
    FROM 订单,订单明细
    Where 订单明细.订单号=订单.订单号)
 (2)(j)NOT EXISTS
    (k)客户号='01' AND NOT EXISTS
    (l)客户产品1.客户号=客户产品3.客户号AND客户产品2.产品号=客户产品3.产品号
[问题5]
  采用数据库管理系统的触发器机制。对产品关系定义一个触发器,在订单明细中的记录插入或更新之后,该触发器被激活,根据订单明细中订购的产品及数量,减少产品关系中对应产品的库存量。
试题三
[问题1]
 (1)n (2)m (3)l (4)n 或 m
[问题2]
 (a)读者ID,图书ID
[问题3]

[问题4]
  补充联系"预约",修补后的实体联系图

增加新的关系模式:
   预约登记(读者ID,ISBN号,预约时间,预约期限,图书ID)
   主键:(读者ID,ISBN号,预约时间)
   外键:读者ID,ISBN号,图书ID
试题四
[问题1]
  投保单:(投保书号,受益人身份证号码)
  客户信息:客户号
  缴费记录:(投保书号,缴费月份)
  险种信息:险种名称
  投保单关系模式的函数依赖:
   F1=(投保书号,受益人身份证号码)→(投保人客户号,被保人客户号,险种名称,受益顺序,业务员姓名,业务员联系方式,投保日期)
   F2=投保书号→(投保人客户号,被保人客户号,险种名称,业务员姓名,业务员联系方式,投保日期)
   F3=受益人身份证号码→身故受益人姓名
   F4=业务员姓名→业务员联系方式
[问题2]
  (1)投保单关系模式存在更新异常。该关系模式存在冗余数据,修改数据时可能会引起修改异常,例如当业务员的联系方式发生变化时,他所负责的每一个投保单里面的业务员联系方式必须更新,如果部分更新,部分不更新,则会产生修改(更新)异常;当一个业务员还没有任何投保单时,他的数据将不能插入数据库,即存在插入异常;当一个投保单记录删除了之后,对应的业务员信息也丢失了,即存在删除异常。
  (2)投保单关系模式存在多值依赖,一个特定的投保单对应多个受益人。
[问题3]
  投保单关系模式属于1范围(或1NF),该关系模式存在数据冗余。例如一个业务员的姓名、联系方式属性与其负责的投保单数量一样多。在具有多个受益人的一个投保单中,投保单的诸多属性存储多次。关系模式还存在上题所说的更新异常和多值依赖。其函数依赖存在非主属性部分依赖于码,故不屑于2范式(或2NF)。
  将投保单关系模式进行如下模式分解:
   投保单(投保书号,投保人客户号,被保人客户号,险种名称,业务员号,投保日期)
   受益人信息(受益人号,受益人姓名,受益人身份证号码)
   业务员信息(业务员号,业务员姓名,业务员联系方式)
   投保-受益信息(投保书号,受益人号,收益人顺序)
  上述模式分解后,能保证在每个关系模式中,属性间无非平凡且非函数依赖的多值依赖,故达到了4范式(或4NF)。
[问题4]
  增加如下关系模式即可满足需求:
  提成信息(总金额,提成比例)
  其中总金额属性描述一个金额范围,提成比例表示对应该范围的提成比例。用户查询投保单关系模式,获得业务员每月的保单总金额,再在提成信息关系模式中查询对应的提成比例,即可计算出业务员的月奖金。

试题五
[问题1]
  事务的可串行调度。多个事务的并发执行是正确的,尚且仅当其结果与按某一次序串行执行它们时的结果相同。
[问题2]
  此调度是一个可串行化的调度,所以是一个正确的调度。
[问题3]
  T1,T2,T3,T4
[问题4]
  两段锁协议。把事务分为两个阶段,第一阶段是获得封锁,但不能解锁;第二个阶段是解除封锁,不能申请新的锁。



评论: 1 | 引用: 0 | 查看次数: -
回复回复tangtangjjj[2007-10-27 06:35 PM | del]
多谢楼主!
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.