收藏 分销(赏)

数据库系统工程师历年真题答案解析.doc

上传人:天**** 文档编号:2227161 上传时间:2024-05-23 格式:DOC 页数:17 大小:250.04KB
下载 相关 举报
数据库系统工程师历年真题答案解析.doc_第1页
第1页 / 共17页
数据库系统工程师历年真题答案解析.doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述
数据库系统工程师历年真题答案解析 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 2 个人收集整理 勿做商业用途 2004年下半年数据库系统工程师试题答案 上午试题答案(每空1分)A  (1) C (16) C (31) B (46) C (61) B (2) B (17) B (32) C (47) A (62) D (3) C (18) B (33) A (48) C (63) C (4) D (19) B (34) B (49) C (64) A (5) B (20) D (35) C (50) D (65) D (6) C (21) D (36) B (51) C (66) A (7) D (22) A (37) B (52) C (67) A (8) B (23) B (38) D (53) D (68) D (9) B (24) A (39) B (54) D (69) B (10) D (25) C (40) B (55) D (70) B (11) C (26) B (41) D (56) B (71) C (12) A (27) C (42) A (57) A (72) A (13) A (28) B (43) D (58) A (73) B (14) C (29) A (44) C (59) B (74) C (15) A (30) D (45) A (60) C (75) A 下午试题参考答案 试题一 [问题1]解答   起点:读者文件 终点;登记读者信息或3   起点:处理查询请求 或2 终点:读者文件 [问候2]解答   起点;图书目录文件 终点:图书信息查询或2.2   起点:借书文件 终点:读者信息查询或2.1   起点;借书文件 终点;图书信息查询或2.2 [问题3]解答   (1)[入库单|借书单|还书单|注销单]   (2)分类目录号+书名+作者+价格+数量+购书日期 试题二 [问题1]解答   (a)PRIMARY KEY   (b)FOREIGN KEY(负贵人代码) REFERENCES 职工   (c)FOREIGN KEY(部门号)REFERENCES部门   (d)月工资>=500 AND 月工资<=5000   (e)coumt(*),Sum(月工资),Avg(月工资)   (f)Croup by 部门号 [问题2]解答   (1)该行不能插入“职工"关系,它违反了实体完整性中主码必须唯一区分关系中的每一个属性.   (2)该行可以插入“职工"关系,尽管部门号、电话和办公室为空,但是它表示该雇员没有分配到某个部门。   (3)该行不能插入“职工"关系,它违反了参照完整性。因为6在关系“部门’中不存在. [问题3]解答   此间考查的是对视图定义的掌握。   (1)和(2)都不能更新,因为使用分组合聚集函数定义的视图是不可更新的。   (3)不一定,视子查询的返回值而定,(4)和(5)允许查询。 [问题4]解答   此间考察的是查询效率的问题.在涉及相关查询的某些情形中,构造临时关系可以提高查询效率。   (1)对于外层的职工关系E中的每一个元组,都要对内层的整个职工关系M进行检索,因此查询效率不高。   (2)解答一   改正后的SQL语句使用了临时表:    Select Max(月工资)as 最高工资,部门号 into Temp from职工     Group by部门号    Select 职工号 from职工,Temp     where月工资=最高工资 and 职工.部门号=Temp.部门号   解答二    Select 职工号 from 职工,(Select Max(月工资) as 最高工资,部门号    Group by 部门号) as depMax     where 月工资=最高工资 and 职工。部门号=depMax。部门号 [问题5]解答   此问主要考察在查询中注意where子句中使用索引的问题。    Select 姓名,年龄,月工资 from 职工     where 年龄>45;    union    Select 姓名,年龄,月工资 from 职工     where 年龄 月工资<1000; 本文为互联网收集,请勿用作商业用途文档为个人收集整理,来源于网络 试题三 [问题1]解答 [问题2]解答   商品(商品编号,商品名称,供应商,单价)   直销商品(商品编号,生产批号,消费期限)   库存商品(商品编号,折扣率) [问题3]解答   销售详单(销售流水号,商品编码,数量,金额,收银员,时间)   销售日汇总(日期,商品编码,数量)   存货表(商品编码,数量)   进货表(送货号码,商品编码,数量,日期)   商品(商品编码,商品名称,供应商,单价)   直销商品(商品编号,生产批号,消费期限)   库存商品(商品编号,折扣率) [问题4]解答   1.采用商品信息集中存储在中心数据库中,则在销售前台的每笔计费中,都必须从中心数据库提取商品名称和单价,增加网络的负载,在业务繁忙时直接影响到前台的销售效率;同时,如果发生网络故障,则该POS机不能工作。 采用这种方式,对商品库的更新,如引入新的商品和修改商品价格,会及时体现在前台的销售业务中。   2.采用商品信息存储在中心数据库中,各Pos机存储商品表的备份,POS机直接从本地读取商品信息,减少了网络的负载,可以提高交易的效率;同时即使有短时间的网络故障,也不影响该POS机的正常使用,只有当存在商品信息变更时才需要与中心数据库同步。   采用这种方式,必须在每次商品信息变更时同步各POS机的数据。 [问题5]解答   1.对销售详单做如下的修改,增加积分卡号属性。   销售详单(销售流水号,商品编号,数量,金额,收银员,时间,积分卡号)   2.加积分卡关系:积分卡(积分卡号,累积消费金额,积分点) 个人收集整理,勿做商业用途本文为互联网收集,请勿用作商业用途 试题四 [问题1]解答   (1)“航班”关系模式的候选键为(航班名,飞行日期),非键属性为;航空公司名称,出发地点,出发时间,目的地,到达时间.   (2)“航班"是属于1NF的.因为非主属性航空公司名称,出发地点,目的地不完全函数依赖于候选键(航班名,飞行日期)。   该关系模式存在如下函数依赖:   航班名→航空公司名称,出发地点,目的地;   (航班名,飞行日期)→出发时间,到达时间。 [问题2]解答   参考答案1   (1)在题中给出的“旅客”关系中,不同的团队会有相同的旅客编号,所以,旅客编号不能作为候选键,如果同一旅客不同时间参加不同的团队将导致“身份证号无法确定关系中的每一个元组,所以“身份证号”也不能作为候选键。为此,需要增加一个“团队编号”的属性。又由于{(身份证号,团队编号)→旅客编号;(旅客编号,团队编号)→身份证号;身份证号一(姓名,联系方法,出生日期,性别)},所以该关系模式存在部分函数依赖,导致旅客参加多少次团队,其姓名等信息将重复多少次。   (2)候选键:(身份证号,团队编号)和(旅客编号,团队编号)   (3)“旅客"分解为第三范式如下所示:  旅客1(身份证号,姓名,联系方法,出生日期,性别)   旅客2(旅客编号,身份证号,团队编号)   参考答案2   (1)在题中给出的“旅客”关系中,不同的团队会有相同的旅客编号,所以,旅客编号不能作为候选键,如果同一旅客不同时间参加不同的团队将导致“身份证号"无法确定关系中的每一个元组,所以“身份证号”也不能作为候选键.为此,可以通过修改“旅客编号”属性的定义加以解决,旅客编号由“团队编号+队内编号”来解决。这时关系的候选键为“旅客编号”,该关系模式存在传递依赖,导致旅客参加多少次团队,其姓名等信息将重复多少次。   (2)候选键;旅客编号.   (3)“旅客"分解为第三范式如下所示:  旅客1(身份证号,姓名,联系方法,出生日期,性别)   旅客2(旅客编号,身份证号) [问题3]解答   (1)旅程编号→→旅客编号,旅程编号→→{搭乘日期,航班名}   (2)在“搭乘航班”关系中,存在着非平凡的多值依赖,旅程编号→旅客编号,旅程编号→→{搭乘日期,航班名},而该关系模式的候选键为(旅程编号,旅客编号,搭乘日期,航班名),所以,根据第四范式的定义,该关系模式BCNP不是第四范式。   (3)把分解成第四范式的结果,用与图4-1所示的关系模式的形式表示出来。  搭乘航班1(旅程编号,旅客编号)  搭乘航班2(旅程编号,航班名,搭乘日期) 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        职员。职员代码 = 月工作业绩。职员代码 个人收集整理,勿做商业用途个人收集整理,勿做商业用途 2006年上半年数据库系统工程师试题答案 上午答案 (1) D (16) D (31) D (46) B (61) A (2) A (17) B (32) A (47) C (62) C (3) D (18) B (33) A (48) C (63) A (4) D (19) C (34) C (49) D (64) D (5) A (20) D (35) A (50) A (65) B (6) C (21) A (36) C (51) B (66) B (7) A (22) A (37) D (52) D (67) C (8) D (23) B (38) B (53) C (68) A (9) C (24) B (39) C (54) D (69) D (10) A (25) C (40) D (55) A (70) B (11) B (26) D (41) C (56) B (71) A (12) B (27) C (42) C (57) D (72) C (13) A (28) A (43) B (58) A (73) B (14) C (29) A (44) A (59) C (74) A (15) C (30) B (45) B (60) A (75) D 下午答案 试题一 [问题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] 文档为个人收集整理,来源于网络本文为互联网收集,请勿用作商业用途 关系模式 主键 外键 读者 读者ID / 书目 ISBN号 / 图书 图书ID ISBN号 借还记录 读者ID,图书ID,借书时间 读者ID,图书ID [问题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]   两段锁协议.把事务分为两个阶段,第一阶段是获得封锁,但不能解锁;第二个阶段是解除封锁,不能申请新的锁。 个人收集整理,勿做商业用途文档为个人收集整理,来源于网络 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。 - 17 -
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服