[计算机类试卷]2006年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)试题真题试卷及答案与解析.doc

上传人:confusegate185 文档编号:492574 上传时间:2018-11-30 格式:DOC 页数:18 大小:488KB
下载 相关 举报
[计算机类试卷]2006年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)试题真题试卷及答案与解析.doc_第1页
第1页 / 共18页
[计算机类试卷]2006年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)试题真题试卷及答案与解析.doc_第2页
第2页 / 共18页
[计算机类试卷]2006年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)试题真题试卷及答案与解析.doc_第3页
第3页 / 共18页
[计算机类试卷]2006年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)试题真题试卷及答案与解析.doc_第4页
第4页 / 共18页
[计算机类试卷]2006年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)试题真题试卷及答案与解析.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、2006年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)试题真题试卷及答案与解析 一、试题一( 15分) 1 阅读下列说明以及数据流图,回答问题 1至问题 3,将解答填入答题纸的对应栏内。 说明 某学校建立了一个网上作业提交与管理系统,基本功能描述如下: (1)账号和密码。任课老师用账号和密码登录系统后,提交所有选课学生的名单。系统自动为每个选课学生创建登录系统的账号和密码。 (2)作业提交。学生使用账号和密码登录系统后,可以向系统申请所选课程的作业。系统首先检查学生的当前 状态,如果该学生还没有做过作业,则从数据库服务器申请一份作业。若申请成功,则显示需要完成的作业。学生需在线完

2、成作业,单击 “提交 ”按钮上交作业。 (3)在线批阅。系统自动在线批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中。 1 如果将数据库服务器 (记为 DB)作为一个外部实体,那么在绘制该系统的数据流图时,还应有哪些外部实体和数据存储 ? 2 根据说明结合问题 1的解答,指出在该系统的顶层数据梳图中应有哪些数据流。请采用说明中的词汇给出这些数据流的起点、终点以及数据流名称,下表给出了数据流的 部分信息,请填充空缺处。3 根据数据流图的设计原则,阅读下图所示的数据流图,找出其中的错误之处。二、试题二( 15分) 4 阅读下列说明,回答问题 1至问题 5,将解答填入答题纸的对应栏内。 说

3、明 某企业网上销售管理系统的数据库部分关系模式如下所示: 客户 (客户号,姓名,性别,地址,邮编 ) 产品 (产品号,名称,库存,单价 ) 订单 (订单号,时间,金额,客户号 ) 订单明细 (订单号,产品号,数量 ) 关系模式的主要属性及约束如下表所示。4 以下是创建部分关系表的 SQL语句,请将空缺部分补充完整。 CREATE TABLE客户 ( 客户号 CHAR(5) (a), 姓名 CHAR(30), 性别 CHAR(2) (b), 地址 CHAR(30), 邮编 CHAR(6); CREATE TABLE 订单 ( 订单号 CHAR(4), 时间 CHAR(10), 金额 NUMBER

4、(6,2), 客户号 CHAR(5)NOTNULL, PRIMARY KEY(订单号 ), (c); 5 请根据如下查询语句,回答问题 (d), (e)和 (f)。 SELECT客户号 FROM订单,订单明细 WHERE订单明细 .订单号 =订单 .订单号 AND 产品号 =02 AND 数量 10; (d) 上述查询语句的功能是什么 ?请简要回答。 (30个字以内 ) (e) 将上述查询语句转换成对应的关系代数表达式。 (f) 上述 SQL查询语句是否可以进一步优化 ?如可以,给出优化后的 SQL查询语句。 6 请按题意将下述 SQL查询语句的空缺部分补充完整。 按客户购买总额的降序,输出每

5、个客户的客户名和购买总额。 SELECT 客户 .客户名, (g) FROM 客户,订单 WHERE 客户 .客户号 =订单 .客户号 (h) (i); 7 用 SQL语句完成下述要求。 (1) 定义一个描述订单的客户号和对应订单明细中产品号关系的视图:客户产品(客户号,产品号 )。 (2)借助 (1)所定义的视图,查询至少购买了 01号客户购买的所有产品的客户号。 SELECT客户号 FROM客户产品 客户产品 1 WHERE (j) (SELECT* FROM客户产品 客户产品 2 WHERRE (k) (SELECT* FROM客户产品 客户产品 3 WHERRE (1); 8 当一个订

6、单和对应的订单明细数据入库时,应该减少产品关系中相应的产品库存,为此应 该利用数据库管理系统的什么机制实现此功能 ?请用 100字以内的文字简要说明。 三、试题三( 15分) 9 阅读下列说明,回答问题 1至问题 4,将解答填入答题纸的对应栏内。 说明 某单位资料室需要建立一个图书管理系统,初步的需求分析结果如下: (1)资料室有图书管理员若干名,他们负责已购入图书的编目和借还工作,每名图书管理员的信息包括工号和姓名; (2)读者可在阅览室读书,也可通过图书流通室借还图书,读者信息包括读者 D、姓名、电话和 E-mail,系统为不同读者生成不同的读者 ID: (3)每部书在系统中对应唯一 的一

7、条图书在版编目数据 (CIP,以下简称书目 ),书目的基本信息包括 ISBN号、书名、作者、出版商、出版年月,以及本资料室拥有该书的册数 (以下简称册数 ),不同书目的 ISBN号不相同: (4)资料室对于同一书目的图书可拥有多册 (本 ),图书信息包括图书 ID、 ISBN号、存放位置、当前状态,每一本书在系统中被赋予唯一的图书 ID; (5)一名读者最多只能借阅十本图书,且每本图书最多只能借两个月,读者借书时需由图书管理员登记读者 ID、所借图书ID、借阅时间和应还时间,读者还书时图书管理员在对应的借书信息中记录归还时间。 某书目的信息以及与该书目对应的图书信息如下表所示。系统的主要业务处

8、理如 F。 (1)入库管理:图书购进入库时,管理员查询本资料室的书目信息,若该书的书目尚未建立,则由管理员编写该书的书目信息并录入系统,然后编写并录入图书信息;否则,修改该书目的册数,然后编写并录入图书信息,对于进入流通室的书,其初始状态为 “未借出 ”,而送入阅览室的书的状态始终为 “不外借 ”。 (2)借书管理:读者借书日寸,若有,则由管理员为该读者办理借书手续,并记录该读者的借书信息,同时将借出图书的状态修改为 “已借出 ”。 (3)还书管理:读 者还书时,则记录相应借还信息中的 “归还时间 ”,对于超期归还者,系统自动计算罚金 (具体的计算过程此处省略 )。同时修改该图书的状态为 “未

9、借出 ”。 (4)通知处理:对于已到期且未归还的图书,系统通过 E-mail自动通知读者。 9 根据以上说明设计的实体联系图如下图所示,请指出读者与图书、书目与图书之间的联系类型。 10 该图书管理系统的主要关系模式如下,请补充 “借还记录 ”关系中的空缺。 管理员 (工号,姓名 ) 读者 (读者 ID,姓名,电话, E-mail) 书目 (1SBN号,书名,作者,出版商 ,出版年月,册数,经办人 ) 图书 (图书 ID, ISBN号,存放位置,状态,经办人 ) 借还记录 ( (a),借出时间,应还时间,归还时间 ) 注:时间格式为 “年 .月 .日时 :分 :秒 ”。 11 请指出问题 2中

10、给出的读者、书目关系模式的主键,以及图书和借还记录关系模式的主键和外键。 12 若系统增加新的预约需求,其业务处理描述如下: 若图书流通室没有读者要借的书,则可为该读者建立预约登记,需要记录读者ID、书的 ISBN号、预约时间和预约期限 (最长为 10天 )。一旦其他读者归还这种书,系统将自 动查询预约登记表,若存在有读者预约该书的记录,则将该图书的状态修改为 “已预约 ”,并将该图书 ID写入相应的预约记录中 (系统在清除超出预约期限的记录时解除该图书的 “已预约 ”状态 ),同时通过 E-mail通知该预约读者办理借阅手续。对于超出预约期限的预约记录,系统将自动清除。 为满足上述需要,应对

11、上图所示的实体联系图如何修改或补充,请给出修改后的实体联系图,并对关系模式做相应的修改或补充,指出新增关系模式的主键和外键。 四、试题四( 15分) 13 阅读下列说明,回答问题 1至问题 4,将解答填入答题纸的对应栏 内。 说明 某保险公司需要管理用户投保的相关信息,拟建立针对投保数据、险种数据、缴费数据的管理系统。系统需求分析情况如下所述。 1)投保单是缔结保险合同的重要依据,需填写投保人、被保险人、受益人资料等信息。投保单格式如下所示: 2)该公司需要管理险种信息以供查询。险种信息包括:险种名称、承保年龄、保险利益、缴费方式、保险费、保险特点等信息。示例如下:3)业务处理过程。用户可通过

12、网络查询险种,并选择投保的险种。用户直接填写投保书,经过业务员审核通过后,请投保人签字,并由业务员确认投保书。业务员按月查询用 户的缴费记录,以便生成相应的缴费通知单。 初步设计的关系模式如下所示: 投保单 (投保书号,投保人客户号,被保人客户号,险种名称,身故受益人姓名,受益顺序,受益人身份证号码,业务员姓名,业务员联系方式,投保日期 ) 客户信息 (客户号,姓名,性别,出生日期,身份证号码,联系地址,邮政编码 ) 缴费记录 (投保书号,缴费月份,缴费金额,欠款,节余,滞纳金 ) 险种信息 (险种名称,承保年龄,保险利益,缴费方式,保险费,保险特点 ) 注:投保单关系中,投保人客户号和被保人

13、客户号是外键,依赖于客户信息关系的主键 “客户号 ”。 13 给出上述各关系模式的主键,以及投保单关系模式的函数依赖。 14 列出投保单关系模式可能存在的更新异常和多值依赖,并简要说明。 15 分析投保单关系模式属于第几范式,并简单说明原因。修改上述关系模式,以达至 4NF。 16 公司需要查询每个业务员每月完成的保单总金额,根据业务员月保单总金额分档,设定不同的提成比例,以便计算业务员月奖金。对上述的数据库模式如何修改或补充,以满足需求。 五、试题五( 15分) 17 阅读下列说明,回答问题 1至问题 4,将解答填入答题纸的对应栏内。 说明 现有一个事务集 T1, T2, T3, T4,其中

14、这 4个事务在运行过程中需要读写表X、 Y和 Z。设 Ti对 X的读操作记作 TiR(X), Ti对 X的写操作记作 Tiw(X)。 事务对 XYZ的访问情况如下: T1: T1R(X) T2: T2R(Y), T2w(X) T3: T3w(Y), T3w(X), T3w(2) T4: T4R(Z), T4w(X) 17 试述事务并发调度的正确性准则及其内容。 18 请判断如下调度是否正确。 T3w(Y), T1R(X), T2R(Y), T3w(X), T2w(X),T3w(Z), T4R(Z), T4w(X) 按这种调度产生的事务依赖关系图如下:19 给出与 问题 2中调度等价的一个串行调

15、度序列。 20 采用何种加锁策略能够保证事务调度的正确性,简述其内容。 2006年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)试题真题试卷答案与解析 一、试题一( 15分) 1 【正确答案】 外部实体: (选课 )学生、 (任课 )老师 数据存储:作业成绩统计文件 2 【正确答案】 (1)(选课 )学生 (2) (选课 )学生 (3) (选课 )学生 (4) (选课 )学生 (5) 作业成绩 (6) DB (7) 作业成绩统计文件 (8) 作业成绩 (9) (任课 )老师 (10)DB (11)作业 (12)(选课 )学生 (13)(任课 )老师 注: (4)、 (6)的答案可互

16、换; (12)、 (13)的答案可互换 3 【正确答案】 错误 1:外部实体 A和 B之间不能存在数据流。 错误 2:外部实体 A和数据存储 H之间不能存在数据流。 错误 3:加工 2的输入 /输出数据流名字相同。 错误 4:加工 4只 有输入没有输出。 错误 5:加工 5只有输出,没有输入。 注:以上 5条错误信息可以打乱次序。 二、试题二( 15分) 4 【正确答案】 (a)NOT NULL UNIQUE或 NOT NULL PRIMARY KEY 或 PRIMARY KEY (b)CHECK (VALUE IN(男 , 女 ) (c)FOREIGN KEY (客户号 ) REFERENC

17、ES 客户 (客户号 ) 【试题解析】 本题考查的是 SQL语言中的创建基本表命令。 SQL中使用 CREATE TABLE命令来定义基本表 ,其一般格式为: CREATE TABLE表名 (列名数据类型 列级完整性约束条件 ,列名数据类型 列级完整性约束条件 . ,表级完整性约束条件 ); 本题着重考查完整性约束的定义。 . 实体完整性定义。声明主键有两种方法:将 PRIMARYKEY保留字加在属性类型之后;在属性列表中引入一个新元素,该元素包含保留字 PRIMARY KEY和用圆括号括起的构成主键的属性或者属性组 列表。 . 参照完整性定义。 FOREIGNKEY(属性名 )REFERFE

18、NCES表名 (属性名 )。参照完整性通过保留字 FOREIGNKEY定义哪些列为外码, REFERFENCES指明外码所对应的被参照表的主码。 . 用户定义完整性定义。用 CHECK后增加一条检查子句来完成属性值上的约束。 根据题目描述,客户号唯一标识一位客户,客户性别取值为 “男 ”或者 “女 ”,一份订单必须且仅对应一位客户。所以,客户号是客户表的主键,客户性别的取值只能为 “男 ”或者 “女 ”,订单中的客户号必须外键依赖于客户。 因 此,客户号应表示为主键: (a)NOT NULL UNIQUE或 NOT NULL PRIMARY KEY或 PRIMARY KEY; 客户性别的取值只

19、能为 “男 ”或者 “女 ”: (b)CHECK (VALUE IN(男 , 女 ) 订单中的客户号必须外键依赖于客户: (c)FOREIGN KEY (客户号 ) REFERENCES客户 (客户号 ) 5 【正确答案】 查询一次订购 (或购买 )产品号为 02的数量大于 10的客户号 (e) (f)可以优化。优化的 SQL语句为: SELECT客户号 FROM 订单 WHERE 订单号 IN (SELECT 订单号 FROM 订单明细 WHERE产品号 =02 AND数量 10); 【试题解析】 本题考核的知识点包括 SQL的查询命令与关系代数表达式的互相转换以及 SQL的查询优化。 SE

20、LECT语句的功能是:查询一次订购 (或购买 )产品号为 02的数量大于 10的客户号。 根据关系代数表达式的定义,将上述查询语句转换成对应的关系代数表达式为: 该 SELECT语句,在进行多表查询时,采用的是相关子查询。由于相关子查询查询时要做连接 JOIN,性能不 是最优。可以考虑采用不相关子查询,来提高性能。优化的 SQL语句为: SELECT客户号 FROM订单 WHERE订单号 IN (SELECT订单号 FROM订单明细 WHERE产品号 =02 AND数量 10); 6 【正确答案】 (g)SUM (金额 ) AS 总额 (h)GROUP BY客户 .客户号 (i)ORDER B

21、Y总额 DESC 【试题解析】 本题考核的是 SQL语言的查洵命令。 要输出客户的客户名和购买总额, SELECT语句的输出部分,还必须包含统计客户的购买总额 (SUM(金额 )AS总额 )。统计一个客户的购买总额,需要对订单信息按客户号进行分组,才能求出每个客户的购买信息 (GROUP BY客户 .客户号 )。再根据每个客户的购买总额进行降序排序 (ORDER BY总额 DESC)。 7 【正确答案】 (1)CREATE VIEW客户产品 AS( SELECT 客户号,产品号 FROM 订单,订单明细 WHERE 订单明细 .订单号 =订单 .订单号 ); (2) (j)NOT EXISTS

22、 (k)客户号 =01 AND NOT EXISTS (1)客户产品 1.客户号 =客户产品 3.客户号 AND客户产品 2.产品号 =客户产品 3.产品号 【试题解析】 本题考核的知识点是 SQL中的视图创建和 SQL查询命令。 SQL语言用 CREATE VIEW命令建立视图,其格式为: CREATE VIEW 视图名 (列名 ,列名 .) AS 子查询 WITHCHECKOPTION; 根据题目描述,一 个订单涉及多个产品,订单中的每个产品对应一项订单明细。一个订单对应一个客户,一个客户可以有多个订单。要建立客户号和产品号的关系,必须通过订单和订单明细。一个客户号对应多个订单,一个订单对

23、应多项订单明细,一项订单明细对应一个产品。所以,视图如下: CREATE VIEW客户产品 AS( SELECT 客户号,产品号 FROM 订单,订单明细 WHERE 订单明细 .订单号 =订单 .订单号 ); 要查找至少购买了 01号客户购买的所有产品的客户号,可借助上述的客户产品视图。通过 该视图,可以知道每个客户购买过的产品号。根据 01号客户购买的所有产品号,看看是否存在这样的客户号,其对应的产品号集合包含这些产品号 (01号客户购买的所有产品号 )。查找可以进一步转换成,查询客户 X,使得不存在这样的产品 Y, 01号客户购买了 Y,而客户 X没有购买。 8 【正确答案】 采用数据库

24、管理系统的触发器机制。对产品关系定义一个触发器,在订单明细中的记录插入或更新之后,该触发器被激活,根据订单明细中订购的产品及数量,减少产品关系中对应产品的库存量。 【试题解析】 本题考查触发器的概念。 触发器 是一种特殊类型的存储过程,它不由用户直接调用,被定义为在对表或视图发出 UPDATE、 INSERT或 DELETE语句时自动执行。触发器可以查询其他表,而且可以包含复杂的 SQL语句。 本题中由于订单明细表上产品数量与产品表中的库存有联系。比如,当某个订单生成时,可以通过设计触发起来减少相应的产品的库存。 三、试题三( 15分) 9 【正确答案】 (1)n或 m (2)m或 n (3)

25、1 (4)n或 m 【试题解析】 本题考查有关实体之间的联系。 两个实体型之间的联系可以分为三类 : . 一对一联系 (1:1) 如果对于实体集 A中的每一个实体,实体集 B中至多有一个 (也可以没有 )实体与之联系。反之亦然,则称实体集 A与实体集 B具有一对一联系,记为 1:1。 . 一对多联系 (1:n) 如果对于实体集 A中的每一个实体,实体集 B中有 n个实体 (n =0)与之联系。反之,对于实体集 B中的每一个实体,实体集 A中最多只有一个实体与之联系,则称实体集 A与实体集 B有一对多联系,记为 1:n。 . 多对多联系 (m:n) 如果对于实体集 A中的每一个实体,实体集 B中

26、有 n个实体 (n =0)与之联系。反之,对于实体集 B中的每一个实体,实体集 A中也有 m个实体 (m =0)与之联系,则称实体集 A与实体集 B具有多对多联系,记为 m:n。 根据题目描述,一名读者最多只能借阅 10本图书,而每本书可被多名读者先后借阅过,所以,读者和图书之间的关系是多对多 (n:m);每本书在系统中对应唯一的一条书目数据,且对于同一书目的图书可拥有多册 (本 )。所以书目和图书之间是一对多 (1:n)的关系。 10 【正确答案】 读者 ID,图书 ID 【试题解析】 本题考查在 ER图向关系模型的转换中,如何将实体和实 体间的联系转换为关系模式,以及如何确定这些关系模式的

27、属性。 这种 ER图向关系模型的转换一般遵循如下原则: . 一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。 .一个 1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 . 一个 1:n联系可以转换为一个独立的关系模式,也可以与 n端对应的关系模式合并。 . 一个 m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合 。 . 3个或 3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组

28、合。 . 具有相同码则关系模式可合并。 根据题目中的 ER图,借还是图书和读者之间的联系 (m:n)。借还记录是联系 “借还 ”转换成的一个关系模式,用来记录借阅入和所借阅图书的借阅信息。所以应该记录与该联系相连的各实体 (读者和图书 )的码 (读者 ID和图书 ID),以及联系本身的属性 (借出时间、应还时间和归还时间 ),均转换为关系的属性。 11 【 正确答案】 【试题解析】 本题考查关系模式的主码的确定。 读者实体的码是能唯一标识读者的读者 ID,关系读者是由读者实体转换而来的,读者实体的码 (读者 ID)就是关系读者的码 (读者 ID)。书目实体的码是能唯一标识书目的 ISBN号,书

29、目关系的码就是 ISBN号。同理,图书关系的码是图书 ID。借还记录是由联系借还对应的关系,它的码应为相连实体的码 (读者 ID和图书 ID),再加上联系本身的码 (借出时间 )。所以,借还记录的码应为:读者 ID,图书 ID,借出时间。 根据 ER图,图书和书目之间有 1:n的联系,为了记录该联系 ,在 n端,也就是图书关系中,记录对应的书目的主码。因此,图书关系具有外键 ISBN号,来与书目关系相关联。 借还记录是由联系借还对应的关系,它记录与图书和读者的联系。因此,借还记录具有外键读者 ID和图书 ID,分别与读者和图书相关联。 根据实体联系图,可定义如下的主键和外键: 读者 (读者 I

30、D,姓名,电话, E-mail) 书目 (ISBN号,书名,作者,出版商,出版年月,册数,经办人 ) 12 【正确答案】 增加新的关系模式:预约登记 (读者 ID, ISBN号,预约时间,预约期限,图书 ID) 主键: (读者 ID, ISBN号,预约时间 ) 外键:读者 ID, ISBN号,图书 ID 【试题解析】 为使读者可以对已借完的流通图书进行预约。由于一个书目所对应的流通图书可能有多本,读者不需要去预定具体某一本图书,只需对该书目进行预约。因此,需要在书目和读者之间增加预约联系。只要该书目对应的任意一本具体的流通图书先归还,就可以对将该图书的状态设置为 “已预约 ”。一个读者可以预约

31、多个书目,而一个书目也可以被多个读者预约。所以,读者和书目之间的关系是多对多 (n:m),如下图所示。 增加新的关系模式: 预约登记(读者 ID, ISBN号,预约时 间,预约期限,图书 ID) 主键: (读者 ID, ISBN号,预约时间 ) 外键:读者 ID, ISBN号,图书 ID 四、试题四( 15分) 13 【正确答案】 投保单: (投保书号,受益人身份证号码 ) 客户信息:客户号 缴费记录: (投保书号,缴费月份 ) 险种信息:险种名称 投保单关系模式的函数依赖: F1=(投保书号,受益人身份证号码 )( 投保人客户号,被保人客户号,险种名称,受益顺序,业务员姓名,业务员联系方式,

32、投保日期 ) F2=投保书号 ( 投保人客户号,被保人客户号,险种名称 ,业务员姓名,业务员联系方式,投保日期 ) F3=受益人身份证号码 身故受益人姓名 F4=业务员姓名 业务员联系方式 注: F1, F2中如果表示为 (投保书号,受益人身份证号码 ),投保书号到右端任意属性组合的函数依赖均是正确的,但属性组合的并集必须为右端的全集。 【试题解析】 本题考查的是关系模式的主键和函数依赖的基本概念和知识。 数据依赖是通过一个关系中属性间值的相同与否体现出来的数据间的相互关系。函数依赖是关系模式内属性间最常见的数据依赖。函数依赖定义为:设 R(U)是属性集 U上的 关系模式。 X, Y是 U的子

33、集。若对于 R(U)的任意一个可能的关系r, r中不可能存在两个元组在 x上的属性值相等,而在 Y上的属性值不相等,则称 X函数确定 Y或者 Y函数依赖于 X,记作 XY 。函数依赖是语义范畴的概念。 设 K为 R U, F中的属性或者属性组合,若 U完全函数依赖于 K,则 K为 R的候选码。若候选码多于一个,则选定其中的一个为主码 (主键 )。 对于投保单关系模式,一张投保单由投保书号确定,而一张投保单对应多个受益人,故投保单号和受益人身份证号码可以唯一确定投保单的一个元组,即投保书号和受益人身份证号码 是投保单关系模式的主键。对于客户关系模式,客户号可以唯一确定一个客户,故客户号是客户关系

34、模式的主键。对于缴费记录关系模式,投保书号和缴费月份可以唯一确定一次缴费记录,故投保书号和缴费月份是缴费记录关系模式的主键。对于险种信息关系模式,险种名称可以唯一确定一类险种信息,故险种名称是险种信息关系模式的主键。 分析投保单关系模式的函数依赖,投保单号和受益人身份证号码是主键,故投保书号和受益人身份证号码可以函数确定投保单关系模式的所有属性。投保单号可以函数确定投保书号,投保人客户号,被保人客户号,险种名称,业 务员姓名,业务员联系方式,投保日期。受益人身份证号码可以函数确定受益人姓名。业务员姓名可以函数确定业务联系方式。 14 【正确答案】 (1)投保单关系模式存在更新异常。该关系模式存

35、在冗余数据,修改数据时可能会引起修改异常,例如当业务员的联系方式发生变化时,他所负责的每一个投保单里面的业务员联系方式必须更新,如果部分更新,部分不更新,则会产生修改 (更新 )异常:当一个业务员还没有任何投保单时,他的数据将不能插入数据库,即存在插入异常;当一个投保单记录删除了之后,对应的业务员信息也丢失了,即存在删除异常。 (2)投保单关系模式存在多值依赖,一个特定的投保单对应多个受益人。 【试题解析】 更新异常是指对关系模式进行增加、删除、修改操作时,可能会引起操作的错误或者数据的丢失。更新异常包括插入异常、修改异常和删除异常。对投保单关系模式而言,若要增加一个业务员的信息,如果他还没有

36、投保单,那么他的信息也将不能插入数据库,这属于插入异常;当一个投保单记录删除了之后,对应的业务员信息也丢失了,这属于删除异常;当一个业务员的联系方式发生变化后,那么他所负责的所有投保单记录都要做相应的修改。 设 R(U)是属性集 U上的 一个关系模式。 X, Y, Z是 U的子集,并且 Z=U-X-Y。关系模式 R(U)中多值依赖 XY 成立,当且仅当对 R(U)的任意关系 r,给定的一对 (x, z)值,有一组 Y的值,这组值仅仅决定于 x值而与 z值无关。 在投保单关系模式中,一个投保单对应多个受益人,故存在多值依赖。 15 【正确答案】 投保单关系模式属于 1范式 (或 1NF),该关系

37、模式存在数据冗余。例如一个业务员的姓名、联系方式属性与其负责的投保单数量一样多。在具有多个受益人的一个投保单中,投保单的诸多属性存储多次。关系模式还存在上题所说的更新异常和多值 依赖。其函数依赖存在非主属性部分依赖于码,故不属于 2范式 (或 2NF)。 将投保甲关系模式进行如下模式分解: 投保单 (投保书号,投保日期 ) 受益人信息 (受益人号,受益人姓名,受益人身份证号码 ) 业务员信息 (业务员号,业务员姓名,业务员联系方式 ) 投保 -受益信息 ( ,受益人顺序 ) 上述模式分解后,能保证在每个关系模式中,属性间无非平凡且非函数依赖的多值依赖,故达到了 4范式 (4NF)。 【试题解析

38、】 本题考查范式的基本概念和模式分解。 1NF:每一个分量必须是不可分的数据项。满足了这个条件的关系模式就属于第 一范式。 2NF:若R 1NF,且每一个非主属性完全函数依赖于码,则 R 2NF。 3NF:若R 2NF,则每一个非主属性既不部分依赖于码,也不传递依赖于码。 BCNF:关系模式 R中,若每一个决定因素都包含码,则 R BCNF。 4NF:若 R 1NF,如果 R的属性之间没有非平凡且非函数依赖的多值依赖,则 R 4NF。 投保单中的每个分量都是不可分的数据项,因此,满足第一范式。但投保单中,业务员联系方式属性依赖于业务员姓名,而不完全依赖十码 (投保书号,受益人身份证 );又如:

39、受益人姓名属性依赖与受益人身份证,而不完全 依赖于码 (投保书号,受益人身份证 )。因此投保单不满足第二范式,即每一个非主属性完全函数依赖于码。 一个关系模式 R不属于 2NF,就会出现插入异常、删除异常、修改复杂等问题。 为了解决投保单模式不满足 2NF的问题,必须对该模式进行分解,以达到 4NF。根据投保单的函数依赖: 投保书号 ( 投保人客户号,被保人客户号,险种名称,业务员姓名,业务员联系方式,投保日期 ) 受益人身份证号码 身故受益人姓名 业务员姓名 业务员联系方式 将投保单关系模式进行如下模式分解: 投保单 (投保书号,投保人客户号,被保人客户号,险种名称 ,业务员号,投保日期 )

40、 受益人信息(受益人号,受益人姓名,受益人身份证号码 ) 业务员信息 (业务员号,业务员姓名,业务员联系方式 ) 投保 -受益信息 ( ,受益人顺序 ) 上述模式分解后,能保证在每个关系模式中,属性间无非平少 L且非函数依赖的多值依赖,故达到了 4范式 (4NF)。 16 【正确答案】 增加如下关系模式即可满足需求: 提成信息 (总金额,提成比例 ) 其中总金额属性描述一个金额范围,提成比例表示对应该范围的提成比例。用户查询投保单关系模式,获得业务员每月的保单总金额,再在提成信息关系模式中查询对应的提成比例,即可计算出业务员的月奖金。 【试题解析】 增加如下关系模式即可满足需求: 提成信息 (

41、总金额,提成比例 ) 其中总金额属性描述一个金额范围,提成比例表示对应该范围的提成比例。用户查询投保单关系模式,获得业务员每月的保单总金额,再在提成信息关系模式中查询对应的提成比例,即可计算出业务员的月奖金。 五、试题五( 15分) 17 【正确答案】 事务的可串行化调度。多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果相同。 【试题解析】 本题考查事务并 发调度的知识。 一次并发调度与某一串行调度的执行结果相同,称该调度是可串行化调度,是并发调度正确性的准则。 调度信赖图的箭头所指事务必须在箭尾事务执行结束后才可执行。如调度序列中的 T3w(X)是 T3事务对数据

42、X加写锁,而些之前有 T1事务对 X加了读锁,因此T3,事务等到 T1事务释放了 X上的读锁之后才能加写锁,即 T3事务依赖于 T1事务的执行结束。 根据事务依赖有向图,如果有一条包含所有事务结点的简单路径,则该路径上的结点序列即为并发调度等价的串行调度序列。从该图可得路径: Tl- T3- T2-T4,因此,题目给定的调度是正确的。 事务的提交是随机的,事务程序使用加锁可以实现并发事务的隔离性,使用两段锁协议可以保证事务调度的可串行化。 18 【正确答案】 此调度是一个可串行化的调度,所以是一个正确的调度。 19 【正确答案】 T1, T3, T2, T4 20 【正确答案】 两段锁协议 (或 2PL)。把事务分为两个阶段,第一个阶段是获得封锁,但不能解锁;第二个阶段是解除封锁,不能申请新的锁。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1