2005年数据库系统工程师真题答案
2006-11-01 15:53:59
2005年上半年数据库系统工程师级答案 上午答案 (1) C (16) B (31) A (46) B (61) C (2) D (17) A (32) C (47) A (62) C (3) C (18) D (33) B (48) B (63) A (4) A (19) D (34) C (49) A (64) B (5) C (20) C (35) D (50) B (65) B (6) D (21) D (36) A (51) D (66) B (7) B (22) A (37) D (52) B (67) C (8) C (23) A (38) D (53) D (68) B (9) B (24) C (39) B (54) B (69) D (10) C (25) D (40) D (55) A (70) A (11) B (26) D (41) C (56) C (71) A (12) B (27) A (42) B (57) C (72) C (13) C (28) B (43) C (58) D (73) B (14) D (29) A (44) B (59) C (74) D (15) C (30) C (45) C (60) D (75) A 下午答案 试题一 [问题1] (1) 起点:学生住宿服务系统 终点:房主 数据流名:费用信息 或 交纳的费用 或 费用 (2) 起点:房屋文件 终点:查询房屋 或 4 [问题2] 房主文件 和 学生文件 [问题3] 姓名+现住址+电话号码+出生日期+性别 试题二 [问题1] (a) PRIMARY KEY 仓库号 (b) PRIMARY KEY 或 NOT NULL UNIQUE (c) CHAR(4) (d) FOREIGN KEY 仓库号 PEFERENCES 仓库(仓库号) [问题2] (e) 原材料 (f) GROUP BY 仓库号 HAVING SUM(数量)>=ANY(SELECT SUM(数量) FROM 原材料 GROUP BY 仓库号) [问题3] (g) *或编号,名称,数量,储备量,仓库号 (h) INSERT,DELETE,UPDATE (i) raws_in_wh01 (j) SELECT (k) 原材料 [问题4] (l) UPDATE,INSERT (m) nrow.编号 (n) nrow.存储量*3 [问题5] 存在问题:触发器程序判定某一原材料"数量"是否小于其存储量时,是按照当前记录的"数量"来判定的,当一种原材料存储在多个仓库时,这样判定是错误的,应根据该原材料在各仓库的存储总量来判定。 应将触发器程序的WHEN子句条件修改为: WHEN nrow.储备量>(SELECT SUM(数量) FROM 原材料 WHERE 编号 =(SELECT 编号 FROM nrow) GROUP BY 编号) 试题三 [问题1] (a) 图见最下: [问题2] (b)个人编号,岗位,最低薪水,登记日期 (c)企业编号,岗位,专业,学历,薪水,备注,登记日期 (d)个人编号,姓名,性别,出生日期,身份证号,毕业院校,专业,学历,证书名称,联系电话,电子邮件,个人简历及特长 (e)证书名称,证书编号 [问题3] 企业(企业编号,企业名称,联系人,联系电话,地址,企业网址,电子邮件,企业简介) 求职意向(个人编号,岗位,最低薪水,登记日期) 岗位需求(企业编号,岗位,专业,学历,薪水,备注,登记日期) 人才(个人编号,姓名,性别,出生日期,身份证号,毕业院校,专业,学历,证书名称,联系电话,电子邮件,个人简历及特长) 证书(证书名称,证书编号) [问题4] 此处的"需求"是"岗位"、"企业"和"人才"三个实体之间的联系,而事实上只有人才被聘用之后三者之间才产生联系。本系统解决的是人才的求职和企业的岗位需求,人才与企业之间没有直接的联系。 [问题5] 建立企业的登录信息表,包含用户名和密码,记录企业的用户名和密码,将对本企业的基本信息的修改权限赋予企业的用户名,企业工作人员通过输入用户名和密码,经过服务器将其与登录信息表中记录的该企业的用户名和密码进行验证后,合法用户才有权限修改企业的信息。 试题四 [问题1] 部门(部门代码,部门名,起始年月,终止年月,办公室,办公电话) F1={部门代码 →(部门名,起始年月,终止年月),部门代码→ 办公室,办公室 → 办公电话} 等级(等级代码,等级名,年月,小时工资) F2={等级代码 → 等级名,(等级代码,年月)→ 小时工资} 项目(项目代码,项目名,部门代码,起始年月日,结束年月日,项目主管) F3={项目代码 → (项目名,部门代码,起始年月日,结束年月日,项目主管)} 工作计划(项目代码,职员代码,年月,工作时间) F4={(项目代码,职员代码,年月) → 工作时间} [问题2] (1) 职务(职务代码,职务名,等级代码) (2) 工作业绩(项目代码,职员代码,年月日,工作时间) [问题3] (1) 部门关系模式属于2范式,该关系模式存冗余问题,因为某部门有多少个办公室,部门代码、部门名、起始年月、终止年月就要重复多少次。 为了解决这个问题可将模式分解,分解后的关系模式为: 部门_A(部门代码,部门名,起始年月,终止年月) 部门_B(部门代码,办公室,办公电话) (2) SELECT职员代码,职员名,年月,工作时间*小时工资AS月工资 FROM 职员,职务,等级,月工作业绩 WHERE 职员.职务代码 = 职务.职务代码 AND 职务.等级代码 = 等级.等级代码 AND 等级.年月 = 月工作业绩.年月 AND 职员.职员代码 = 月工作业绩.职员代码 试题三 [问题1] (a) 图: 本文出自 51CTO.COM技术博客 |


麻辣狂
博客统计信息
热门文章
最新评论
友情链接
