2007年下半年数据库系统工程师级答案

上午标准答案
(1) B (16) D (31) B (46) B (61) A
(2) A (17) A (32) A (47) C (62) A
(3) B (18) C (33) D (48) C (63) A
(4) C (19) B (34) B (49) D (64) C
(5) B (20) B (35) D (50) A (65) A
(6) C (21) C (36) B (51) B (66) B
(7) A (22) D (37) B (52) D (67) B
(8) D (23) C (38) C (53) B (68) D
(9) D (24) C (39) D (54) B (69) D
(10) B (25) C (40) C (55) B (70) A
(11) B (26) C (41) A (56) C (71) B
(12) B (27) B (42) D (57) D (72) D
(13) D (28) A (43) A (58) B (73) A
(14) C (29) D (44) D (59) D (74) C
(15) C (30) C (45) B (60) D (75) D

下午参考答案
试题一
【问题1】E1:考试委员会; E2:主讲教师; E3:学生或选课学生;E4:教务处
【问题2】D1:学生信息文件;D2:课程单元信息文件;D3:课程信息文件;
    D4:课程成绩文件;D5:无效成绩文件
【问题3】

起点

终点

D4或 课程成绩文件

4 或 生成成绩列表

D1或 学生信息文件

5 或 生成最终成绩单

4 或 生成成绩列表

5 或 生成最终成绩单

【问题4】程序流程图通常在进行详细设计时使用,用来描述程序的逻辑结构。

试题二
【问题1】
 (1) (a) 年龄 >= 15 AND年龄 <= 60 或 年龄 BETWEEN 15 AND 60
 (2) (b)(商品号, 商品名称, 型号, 品牌, 销售量)(c) SUM(数量)
   (d) 商品.商品号 = 商品销售量.商品号 (3) (e) SELECT
【问题2】(f) 客户, 销售 (g) 客户.客户号 = 销售.客户号 (h) IN 
【问题3】(i) :pno, :cno, :quantity, :date (j) 库存 - :quantiy 
    (k) COMMIT WORK 或 COMMIT 
【问题4】(l) ADD 最小库存 INT (m) UPDATE OF 库存 ON 商品 或 UPDATE ON 商品
  (n) nrow.数量 <= nrow.最小库存 (o) nrow.商品号, nrow.最小库存 * 2 + 10

试题三
【问题1】

【问题2】
 (1)客户编号,客户名称,客户性质     (2)车牌号,客户编号
 (3)委托书编号,车牌号,业务员编号或 委托书编号,车牌号,客户编号,业务员编号
 (4)委托书编号,维修项目编号,维修员编号 (5)员工编号,员工姓名 
【问题3】

试题四
【问题1】
 (1)姓名,性别,出生年月,最高学位,职称,研究方向,所在单位,单位地址。 
 (2)"科研专家"关系模式可以达到第二范式,不满足第三范式。由于"科研专家"关系模式的主键是"人员编号",但又包含函数依赖:所在单位 → 单位地址不满足第三范式的要求,即:存在非主属性对码的传递依赖。
【问题2】
 (1)"项目研发人员"关系不满足第二范式,即:非主属性不完全依赖于码。
 (2)会造成:插入异常、删除异常和修改复杂(或修改异常)。
 (3)分解后的关系模式如下:
  项目研发人员1 (所在单位,职工号,姓名,年龄,学历,职称)
  项目研发人员2 (课题编号,所在单位,职工号,分工,排名,参加月数)
  (4)修正后的主键如下:
  项目研发人员1 (所在单位,职工号,姓名,年龄,学历,职称)
  项目研发人员2 (课题编号,所在单位,职工号,分工,排名,参加月数)
【问题3】
 (1)项目信息"关系模式,不满足第四范式。
  可答:课题编号→课题名称,负责人,合同经费 或:课题编号 →→ 拨款单位,拨款百分比 课题编号 →→ 单位名称,单位类别,单位排名
 (2)分解后的关系模式如下:
  项目信息1 (课题编号,课题名称,负责人,合同经费)
  项目信息2 (课题编号,单位名称,单位类别,单位排名)
  项目信息3 (课题编号,拨款单位,拨款百分比)

试题五
【问题1】出现问题:有一个存款值会丢失,造成数据不一致。
【问题2】伪代码程序:Xlock(b), R(b), b = b + x, W(b), Unlock(b)
【问题3】不能实现,因为程序中的隔离级别设置为READ UNCOMMITTED,未实现加锁控制,不能达到串行化调度。
 修改方法:将程序中的SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED改为SET TRANSACTION ISOLATION LEVEL SERIALIZABLE。

回目录 老顽童校对整理 2008年1月