1、计算机水平考试中级数据库系统工程师 2011 年上半年下午真题及答案解析(总分:75.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)阅读下列说明和图,回答问题 1 至问题 4,将解答填入对应栏内。说明某医院欲开发病人监控系统。该系统通过各种设备监控病人的生命特征,并在生命特征异常时向医生和护理人员报警。该系统的主要功能如下:(1)本地监控:定期获取病人的生命特征,如体温、血压、心率等数据。(2)格式化生命特征:对病人的各项重要生命特征数据进行格式化,然后存入日志文件并检查生命特征。(3)检查生命特征:将格式化后的生命特征与生命特征范围文件中预设的正常范围进行比较。如果超
2、出了预设范围,系统就发送一条警告信息给医生和护理人员。(4)维护生命特征范围:医生在必要时(如,新的研究结果出现时)添加或更新生命特征值的正常范围。(5)提取报告:在医生或护理人员请求病人生命特征报告时,从日志文件中获取病人生命特征生成特征报告,并返回给请求者。(6)生成病历:根据日志文件中的生命特征,医生对病人的病情进行描述,形成病历存入病历文件。(7)查询病历:根据医生的病历查询请求,查询病历文件,给医生返回病历报告。(8)生成治疗意见:根据日志文件中的生命特征和病历,医生给出治疗意见,如处方等,并存入治疗意见文件。(9)查询治疗意见:医生和护理人员查询治疗意见,据此对病人进行治疗。现采用
3、结构化方法对病人监控系统进行分析与设计,获得如图 11 所示的项层数据流图和图 1-2 所示的0 层数据流图。(分数:15.00)(1).使用说明中的词语,给出图 1-1 中的实体 E1E3 的名称。(分数:3.75)_(2).使用说明中的词语,给出图 1-2 中的数据存储 D1D4 的名称。(分数:3.75)_(3).图 1-2 中缺失了 4 条数据流,使用说明、图 1-1 和图 1-2 中的术语,给出数据流的名称及其起点和终点。(分数:3.75)_(4).说明实体 E1 和 E3 之间可否有数据流,并解释其原因。(分数:3.75)_二、试题二(总题数:3,分数:15.00)假设案件编号唯一
4、标识一个案件,且立案日期小于等于结案日期。请将如下创建案件关系的 SQL 语句的空缺部分补充完整。CREATE TABLE 案件(案件编号 CHAR(6) (a) ,案件类型 VARCHAR(10),案件描述 VARCHAR(200),立案日期 DATE,被告 VARCHAR(6)REFERENCES 被告(被告编号),律师 VARCHAR(6)REFERENCES 律师(律师编号),主审法官 VARCHAR(6) (b) ,状态 VARCHAR(6) (c) DEFAULT 待处理,结案日期 DATE,结案摘要 VARCHAR(200),(D) ;(分数:4.00)填空项 1:_填空项 1:
5、_填空项 1:_填空项 1:_请完成下列查询的 SQL 语句。(1)查询当前待处理的诉讼案件,显示案件的案件编号、立案日期、被告姓名、被告地址、案件描述、律师姓名和主审法官姓名。SELECT 案件编号, 立案日期, 被告.姓名,AS 被告姓名, 地址 AS 被告地址, 案件描述, 律师.姓名 AS 律师姓名, (e) FROM (f) WHERE 案件.被告=被告.被告编号 AND 案件.律师=律师.律师编号 AND(g) ;(2)查询 2009 年立案的各类案件数,并按案件数降序排序。(日期格式举例:2009 年 1 月 1 日表示为 01-JAN-2009,2009 年 12 月 31 日
6、表示为 31-DEC-2009)SELECT 类型,count(*) AS 案件数FROM 案件WHERE (h) dGROUP BY 类型(i) ;(3)查询立案次数超过 5 次的被告姓名和地址。SELECT 姓名, 地址, count(*)FROM 案件, 被告WHERE (j) dGROUP BY (k) d(l) ;(分数:8.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_当插入一个审理记录时,检查案件的状态,若状态为“未处理”,则将其修改为“审理中”。下面是用触发器实现该需求的 SQL 语句,请将空缺部分补充完整
7、。CREATE TRIGGER 审理 TRIGGER AFTER (m) ON 审理REFERENCING new row AS nrowFOR EACH rowWHEN 未处理 = (SELECT 状态FROM 案件WHERE 案件编号=nrow.案件编号)BEGINUPDATE 案件 (n) dWHERE (o) ;END(分数:3.00)填空项 1:_填空项 1:_填空项 1:_三、试题三(总题数:1,分数:15.00)阅读下列说明,回答问题 1 至问题 3,将解答填入对应栏内。说明某服装销售公司拟开发一套服装采购管理系统,以方便对服装采购和库存进行管理。需求分析(1)采购系统需要维护服
8、装信息及服装在仓库中的存放情况。系统按服装的销售种类记录服装信息。服装信息主要包括:服装编码、服装描述、服装类型、销售价格、尺码和面料,其中,服装类型为销售分类,服装按销售分类编码。仓库信息主要包括:仓库编码、仓库位置、仓库容量和库管员。系统记录库管员的库管员编码、姓名和级别。一个库管员可以管理多个仓库,每个仓库有一名库管员。一个仓库中可以存放多类服装,一类服装可能存放在多个仓库中。(2)当库管员发现有一类或者多类服装缺货时,需要生成采购订单。一个采购订单可以包含多类服装。每类服装可由多个不同的供应商供应,但具有相同的服装编码。采购订单主要记录订单编码、订货日期和应到货日期,并需详细记录所采购
9、的每类服装的数量、采购价格和对应的多个供应商。(3)系统需记录每类服装的各个供应商信息和供应情况。供应商信息包括:供应商编码、供应商名称、地址、企业法人和联系电话。供应情况记录供应商所供应服装的服装类型和服装质量等级。一个供应商可以供应多类服装,一类服装可由多个供应商供应。库管员根据入库时的服装质量情况,设定或修改每个供应商所供应的每类服装的服装质量等级,用以作为后续采购服装时,选择供应商的参考标准。概念模型设计根据需求阶段收集的信息,设计的实体联系图(不完整)如图 3-1 所示。(分数:15.00)_四、试题四(总题数:1,分数:15.00)阅读下列说明,回答问题 1 至问题 3,将解答填入
10、对应栏内。说明某学校拟开发一套校友捐赠管理系统,以便对校友的捐赠资金进行管理。需求分析校友可以向学校提出捐赠申请,说明捐赠的金额、捐赠类型和使用方式。捐赠类型包括一次性捐赠和周期性捐赠。捐赠的使用方式分为两种:一种用于资助个人,即受益人为多名学生或老师,主要用于奖学金、奖教金和助学金等;另一种用于资助捐赠项目,即资助已有的捐赠项目和设立新的捐赠项目,主要用于改善教学设施、实验室建设和设备购买等。捐赠项目由捐赠理事建立,一个捐赠项目可以涉及多个受益单位,每个单位在该项目中有确定的受益比例。由捐赠理事为项目中的每个单位指定一个项目负责人,并指定每个单位受益比例。每个单位的受益比例是指在一个捐赠项目
11、中的每个单位所应得的金额占该捐赠项目总受益金额的比例。一个捐赠项目可以由多个捐赠来资助,一个捐赠也可以资助多个捐赠项目。由捐赠理事将一个捐赠的捐赠金额分配给所资助的多个捐赠项目,并指定给每个捐赠项目的具体的捐赠金额。初步设计了校友捐赠信息数据库,其关系模式如图 4-1 所示。(分数:15.00)(1).对关系“校友信息”,请回答以下问题: (1)列举出所有候选键的属性。 (2)关系“校友信息”可达到第几范式,用 60 字以内文字简要叙述理由。(分数:5.00)_(2).对关系“捐赠信息”,请回答以下问题: (1)针对“捐赠信息”关系,用 100 字以内文字简要说明会产生什么问题。 (2)把“捐
12、赠信息”分解为第三范式,分解后的关系名依次为:捐赠信息 1,捐赠信息2, (3)列出“捐赠信息”关系修正后的各关系模式的主键。(分数:5.00)_(3).对关系“项目受益情况”,请回答以下问题: (1)关系“项目受益情况”是不是第四范式,用 100 字以内文字叙述理由。 (2)把“项目受益情况”分解为第四范式,分解后的关系名依次为:项目受益情况1,项目受益情况 2,(分数:5.00)_五、试题五(总题数:2,分数:15.00)阅读下列说明,回答问题 1 至问题 3,将解答填入对应栏内。说明某网上商品销售系统的业务流程如下:(1)将客户的订单记录(订单号,客户 ID,商品 ID,购买数量)写入订
13、单表;(2)将库存表(商品 ID,库存量)中订购商品的库存量减去该商品的购买数量。针对上述业务流程,完成下列问题:(分数:9.00)(1).假设库存量有大于等于 0 的约束,可能出现如下情况:当订单记录写入订单表后,修改库存表时因违法约束而无法执行,应如何处理?(100 字以内)(分数:4.50)_(2).引入如下伪指令:将商品 A 的订单记录插入订单表记为 I(A);读取商品 A 的库存量到变量 x,记为x=R(A);变量 x 值写入商品 A 中的库存量,记为 W(A,x)。则客户 i 的销售业务伪指令序列为:I i (A),x i =R i (A),x i =x i -a i ,W i (
14、A,x i )。其中 a i 为商品的购买数量。 假设当前库存量足够,不考虑发生修改后库存量小于 0 的情况。若客户 1、客户 2 同时购买同一种商品时,可能山现的执行序列为:I 1 (A),I 2 (A),x 1 =R 1 (A),x 2 =R 2 (A),x 1 =x 1 -a 1 ,W 1 (A,x 1 ),x 2 =x 2 -a 2 ,W 2 (A,x 2 )。 (1)此时会出现什么问题?(100 字以内) (2)为了解决上述问题,引入共享锁指令SLock(A)和独占锁指令 XLock(A)对数据 A 进行加锁,解锁指令 Unlock(A)对数据 A 进行解锁,客户 i 的加锁指令用
15、SLock i (A)表示,其他类同。插入订单表的操作不需要引入锁指令。请补充上述执行序列,使其满足 2PL 协议,并使持有锁的时间最短。(分数:4.50)_下面是用 E-SQL 实现的销售业务程序的一部分,请补全空缺处的代码。SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;INSERT INTO 订单表 VALUES (:OID,:CID,:MID,:qty);if error then ROLLBACK; (a) ; UPDATE 库存表SET 库存量=库存量-:qtyWHERE (b) ;if error then ROLLBACK; re
16、turn; (c) ;(分数:6.00)填空项 1:_填空项 1:_填空项 1:_计算机水平考试中级数据库系统工程师 2011 年上半年下午真题答案解析(总分:75.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)阅读下列说明和图,回答问题 1 至问题 4,将解答填入对应栏内。说明某医院欲开发病人监控系统。该系统通过各种设备监控病人的生命特征,并在生命特征异常时向医生和护理人员报警。该系统的主要功能如下:(1)本地监控:定期获取病人的生命特征,如体温、血压、心率等数据。(2)格式化生命特征:对病人的各项重要生命特征数据进行格式化,然后存入日志文件并检查生命特征。(3)检查
17、生命特征:将格式化后的生命特征与生命特征范围文件中预设的正常范围进行比较。如果超出了预设范围,系统就发送一条警告信息给医生和护理人员。(4)维护生命特征范围:医生在必要时(如,新的研究结果出现时)添加或更新生命特征值的正常范围。(5)提取报告:在医生或护理人员请求病人生命特征报告时,从日志文件中获取病人生命特征生成特征报告,并返回给请求者。(6)生成病历:根据日志文件中的生命特征,医生对病人的病情进行描述,形成病历存入病历文件。(7)查询病历:根据医生的病历查询请求,查询病历文件,给医生返回病历报告。(8)生成治疗意见:根据日志文件中的生命特征和病历,医生给出治疗意见,如处方等,并存入治疗意见
18、文件。(9)查询治疗意见:医生和护理人员查询治疗意见,据此对病人进行治疗。现采用结构化方法对病人监控系统进行分析与设计,获得如图 11 所示的项层数据流图和图 1-2 所示的0 层数据流图。(分数:15.00)(1).使用说明中的词语,给出图 1-1 中的实体 E1E3 的名称。(分数:3.75)_正确答案:(E1:病人 E2:护理人员 E3:医生)解析:本题考查数据流图(DFD)应用于采用结构化方法进行系统分析与设计,是比较传统的题目,要求考生细心分析题目中所描述的内容。DFD 是一种便于用户理解、分析系统数据流程的图形化建模工具,是系统逻辑模型的重要组成部分。本问题考查项层 DFD。顶层
19、DFD 一般用来确定系统边界,将待开发系统看作一个加工,因此图中只有唯一的一个处理和一些外部实体,以及这两者之间的输入输出数据流。题目要求根据描述来确定图中的外部实体。分析题目中的描述,并结合已经在顶层数据流图中给出的数据流进行分析。从中可以看出,与系统的交互者包括病人、医生和医护人员。其中,本地监控定期获取病人的生命特征,病人是生命特征数据来源,医生和护理人员会得到相关报告的结果,如请求病人生命特征报告,并获得相关报告。医生还需要在必要时添加或更新生命特征范围。对应图 10 中数据流和实体的对应关系,可知 E1 为病人,E2 为护理人员,E3 为医生。(2).使用说明中的词语,给出图 1-2
20、 中的数据存储 D1D4 的名称。(分数:3.75)_正确答案:(D1:生命特征范围文件 D2:日志文件D3:病历文件 D4:治疗意见文件)解析:本问题考查 0 层 DFD 中数据存储的确定。根据说明中的描述:(2)格式化生命特征:对病人的各项重要生命特征数据进行格式化,然后存入日志文件并检查生命特征;(4)维护生命特征范围:医生在必要时(如,新的研究结果出现时)添加或更新生命特征值的正常范围;(6)生成病历:根据日志文件中的生命特征,医生对病人的病情进行描述,形成病历存入病历文件;(8)生成治疗意见:根据日志文件中的生命特征和病历,医生给出治疗意见,如处方等,并存入治疗意见文件。因此,D1
21、为生命特征范围文件,D2为日志文件,D3 为病例文件,D4 为治疗意见文件。(3).图 1-2 中缺失了 4 条数据流,使用说明、图 1-1 和图 1-2 中的术语,给出数据流的名称及其起点和终点。(分数:3.75)_正确答案:(数据流名称 起点 终点重要生命特征 本地监控 格式化生命特征格式化后的生命特征 格式化生命特征 检查生命特征病例 生成病历 D3 或病历(文件)生命特征 D2 或日志(文件) 生成病例)解析:本问题考查 0 层 DFD 中缺失的处理和数据流。从说明中的描述及图 1-2 可知,本地监控之后要对重要生命特征存储日志文件进行格式化,所以在本地监控和格式化生命特征之间缺少了数
22、据流重要生命特征;检查生命特征是对格式化后的生命特征进行检查,所以在格式化生命特征和检查生命特征之间缺少了数据流格式化后的生命特征;根据日志文件中的生命特征,医生对病人的病情进行描述,形成病历存入病历文件。(4).说明实体 E1 和 E3 之间可否有数据流,并解释其原因。(分数:3.75)_正确答案:(E1 和 E3 之间不可以有数据流,因为数据流的起点和终点中必须有一个是加工(处理)。)解析:本问题考查绘制 DFD 时的注意事项。在 DFD 中,每条数据流的起点和终点之一必须是加工(处理)。本题中,医生和护理人员根据查询到的治疗意见对病人进行治疗属于系统之外的行为,所以两个实体之间不可以有数
23、据流。二、试题二(总题数:3,分数:15.00)假设案件编号唯一标识一个案件,且立案日期小于等于结案日期。请将如下创建案件关系的 SQL 语句的空缺部分补充完整。CREATE TABLE 案件(案件编号 CHAR(6) (a) ,案件类型 VARCHAR(10),案件描述 VARCHAR(200),立案日期 DATE,被告 VARCHAR(6)REFERENCES 被告(被告编号),律师 VARCHAR(6)REFERENCES 律师(律师编号),主审法官 VARCHAR(6) (b) ,状态 VARCHAR(6) (c) DEFAULT 待处理,结案日期 DATE,结案摘要 VARCHAR(
24、200),(D) ;(分数:4.00)填空项 1:_ (正确答案:PRIMARY KEY 或 NOT NULL UNIQUE)解析:填空项 1:_ (正确答案:REFERENCES 职工(职工编号))解析:填空项 1:_ (正确答案:CHECK VALUES IN(待处理,审理中,结案,撤销))解析:填空项 1:_ (正确答案:CHECK(立案日期=结案日期))解析:本题考查 SQL 语言,是比较传统的题目,要求考生细心分析题目中所描述的内容。本问题考查 SQL 中的数据定义语言 DDL 和完整性约束。完整性约束包括三类:实体完整性、参照完整性和用户定义的完整性。实体完整性约束规定关系的主属性
25、不能取空值,关系模型中以主码作为唯一性标识;参照完整性约束规定若属性(或属性组)A 是关系 R 上的主码,B 是关系 S 上的外码,A 与 B 相对应(来自相同的域),则 B 取值为空或者来自于 R 上的某个 A 的值;用户定义的完整性约束是针对具体的数据库应用而定义的,它反映该应用所涉及的数据必须满足用户定义的语义要求。(a)考查实体完整性约束,案件编号是案件关系模式的主码,用关键字 PRIMARY KEY 或者 NOT NULL UNIOUE 表示。(b)考查参照完整性约束,主审法官属性参照职工关系模式中的职工编号属性,由于这两个属性名称不同,因此用 REFERENCES 职工(职工编号)
26、表示,此处不能省略职工编号。(c)、(d)考查用户定义的完整性约束。(c)是在状态属性上定义列级约束,用 CHECK VALUES IN(待处理,审理中,结案,撤销)表示。(d)在立案日期和结案日期上定义约束,用 CHECK(立案日期=结案日期)表示。请完成下列查询的 SQL 语句。(1)查询当前待处理的诉讼案件,显示案件的案件编号、立案日期、被告姓名、被告地址、案件描述、律师姓名和主审法官姓名。SELECT 案件编号, 立案日期, 被告.姓名,AS 被告姓名, 地址 AS 被告地址, 案件描述, 律师.姓名 AS 律师姓名, (e) FROM (f) WHERE 案件.被告=被告.被告编号
27、AND 案件.律师=律师.律师编号 AND(g) ;(2)查询 2009 年立案的各类案件数,并按案件数降序排序。(日期格式举例:2009 年 1 月 1 日表示为 01-JAN-2009,2009 年 12 月 31 日表示为 31-DEC-2009)SELECT 类型,count(*) AS 案件数FROM 案件WHERE (h) dGROUP BY 类型(i) ;(3)查询立案次数超过 5 次的被告姓名和地址。SELECT 姓名, 地址, count(*)FROM 案件, 被告WHERE (j) dGROUP BY (k) d(l) ;(分数:8.00)填空项 1:_ (正确答案:姓名
28、AS 主审法官姓名)解析:填空项 1:_ (正确答案:案件,被告,律师,职工(关系模式的顺序无关))解析:填空项 1:_ (正确答案:主审法官=职工.职工编号)解析:填空项 1:_ (正确答案:立案日期 BETWEEN 01-JAN-2009 AND 31-DEC-2009 或者立案日期=01-JAN-2009 AND 立案日期=31-DEC-2009)解析:填空项 1:_ (正确答案:ORDER BY 案件数 DESC)解析:填空项 1:_ (正确答案:被告=被告.被告编号)解析:填空项 1:_ (正确答案:姓名,地址)解析:填空项 1:_ (正确答案:HAVING count(*)5)解析
29、:本问题考查 SQL 中的数据操作语言 DML。(1)考查别名和连接查询条件。(e)处考核别名定义,用 AS 关键字,且别名根据题干给出,应填“职工姓名 AS 主审法官姓名”;(f)处考查该查询涉及到的关系模式,此处应涉及到案件、被告、律师和职工 4 个关系模式,在 FROM 子句中关系模式是顺序无关的;(g)处考核案件关系模式和职工关系模式的连接条件,即“案件.主审法官=职工.职工编号”。(2)考查日期属性并对查询结果进行分组和排序。(h)处主要考核日期作为条件属性的语法,题干中已经给出日期格式的提示。在两个日期之间的时间的语法可以用 BETWEENAND,也可以用=,因此,此处可以填“立案
30、日期 BETWEEN 01-JAN-2009 AND 31-DEC-2009“或者“立案日期=01-JAN-2009 AND 立案日期=31-DEC.2009“;(i)处考核查询结果的排序,用“ORDER BY 案件数 DESC”表示,其中的 DESC 关键字不能省略。在 ORDER BY 子句中,若不用表示升序的关键字 ASC 或表示降序的关键字 DESC表示,则默认为升序排序。(3)考查对查询结果进行分组,并指定满足条件的分组才能输出。(i)处考核两个关系模式的连接关系,应填“案件.被告=被告.被告编号”;(k)处考核分组,此处填“姓名,地址”,不能仅填姓名或者地址;(1)处考核分组条件,
31、用 HAVING 关键字,应填“HAVING count(*)5”。当插入一个审理记录时,检查案件的状态,若状态为“未处理”,则将其修改为“审理中”。下面是用触发器实现该需求的 SQL 语句,请将空缺部分补充完整。CREATE TRIGGER 审理 TRIGGER AFTER (m) ON 审理REFERENCING new row AS nrowFOR EACH rowWHEN 未处理 = (SELECT 状态FROM 案件WHERE 案件编号=nrow.案件编号)BEGINUPDATE 案件 (n) dWHERE (o) ;END(分数:3.00)填空项 1:_ (正确答案:INSERT)
32、解析:填空项 1:_ (正确答案:SET 状态=审理中)解析:填空项 1:_ (正确答案:案件编号=nrow 案件编号)解析:本问题考查触发器。触发器是一个能由系统自动执行对数据库修改的语句。一个触发器由事件、条件和动态三部分组成:事件即对数据库的插入、删除和修改等操作。触发器在这些事件发生时,将开始工作;条件是指触发器将测试条件是否成立,若成立就执行相应的动作,否则就什么也不做;动态是指若触发器测试满足预定的条件,那么就由数据库管理系统执行这些动作。本题首先定义触发器的事件,即对审理关系模式插入后激活触发器。接下来定义触发器的动作,即修改案件关系模式的状态为“审理中”,测试条件为若该案件原来
33、状态为“待处理”,需要关联的两个关系模式是案件和审理。三、试题三(总题数:1,分数:15.00)阅读下列说明,回答问题 1 至问题 3,将解答填入对应栏内。说明某服装销售公司拟开发一套服装采购管理系统,以方便对服装采购和库存进行管理。需求分析(1)采购系统需要维护服装信息及服装在仓库中的存放情况。系统按服装的销售种类记录服装信息。服装信息主要包括:服装编码、服装描述、服装类型、销售价格、尺码和面料,其中,服装类型为销售分类,服装按销售分类编码。仓库信息主要包括:仓库编码、仓库位置、仓库容量和库管员。系统记录库管员的库管员编码、姓名和级别。一个库管员可以管理多个仓库,每个仓库有一名库管员。一个仓
34、库中可以存放多类服装,一类服装可能存放在多个仓库中。(2)当库管员发现有一类或者多类服装缺货时,需要生成采购订单。一个采购订单可以包含多类服装。每类服装可由多个不同的供应商供应,但具有相同的服装编码。采购订单主要记录订单编码、订货日期和应到货日期,并需详细记录所采购的每类服装的数量、采购价格和对应的多个供应商。(3)系统需记录每类服装的各个供应商信息和供应情况。供应商信息包括:供应商编码、供应商名称、地址、企业法人和联系电话。供应情况记录供应商所供应服装的服装类型和服装质量等级。一个供应商可以供应多类服装,一类服装可由多个供应商供应。库管员根据入库时的服装质量情况,设定或修改每个供应商所供应的
35、每类服装的服装质量等级,用以作为后续采购服装时,选择供应商的参考标准。概念模型设计根据需求阶段收集的信息,设计的实体联系图(不完整)如图 3-1 所示。(分数:15.00)_正确答案:()解析:本题考查数据库设计,属于比较传统的题目,考查点也与往年类似。本问题考查数据库的概念结构设计,题目要求补充完整实体联系图中的联系和联系的类型。根据题目的需求描述可知,一个库管员可以管理多个仓库,每个仓库有一名库管员。所以,仓库实体和库管员实体之间存在“管理”联系,联系的类型为多对一(*:1)。根据题目的需求描述可知,一个仓库中可以存放多类服装,一类服装可能存放在多个仓库中。所以,仓库实体和服装实体之间存在
36、“存放”联系,联系的类型为多对多(*:*)。根据题目的需求描述可知,一个采购订单可以包含多类服装,每类服装可由多个不同的供应商供应。所以,采购订单实体与服装实体和供应商实体三者之间存在“采购”联系,三者之间联系的类型为多对多对多(*:*:*)。根据题目的需求描述可知,一个供应商可以供应多类服装,一类服装可由多个供应商供应。所以,供应商实体和服装实体之间存在“供应”联系,联系的类型为多对多(*:*)。_正确答案:(1)仓库编码,库管员编码(2)供应商编码,服装编码(3)订单编码,订货日期,应到货日期(4)订单编码,服装编码,供应商编码,数量,采购价格)解析:本问题考查数据库的逻辑结构设计,题目要
37、求补充完整各关系模式,并给出各关系模式的主键。根据实体联系图和需求描述,系统记录库管员的库编码、姓名和级别。所以,对于“库管员”关系模式,需补充属性“库管员编码”。根据实体联系图和需求描述,仓库信息主要包括:仓库编码、仓库位置、仓库容量和库管员。对于“仓库信息”关系模式,由于仓库实体与库管员实体有多对一联系,需记录对应的库管员,并且需补充属性仓库编码。因此,“仓库信息”关系模式,需补充属性“仓库编码”和“库管员编码”。根据实体联系图和需求描述,供应商信息包括:供应商编码、供应商名称、地址、企业法人和联系电话。所以,对于“供应商”关系模式,需补充属性“供应商编码”。根据实体联系图和需求描述,“供
38、应情况”关系模式需记录供应商和服装的多对多联系,即一个供应商可以供应多类服装,一类服装可由多个供应商供应。所以,对于“供应商”关系模式,需补充属性“供应商编码”和“服装编码”。根据实体联系图和需求描述,采购订单主要记录订单编码、订货日期和应到货日期。所以,对于“采购订单”关系模式需补充属性:订单编码,订货日期,应到货日期。由于采购订单还需详细记录所采购的每类服装的数量、采购价格和对应的多个供应商。因此,“采购订单明细”关系模式,需记录采购订单实体与服装实体和供应商实体三者之间存在的多对多对多联系。对于“采购订单明细”关系模式,需补充属性“订单编码,服装编码,供应商编码,数量,采购价格”。_正确
39、答案:()解析:本问题考查的是数据库的概念结构设计,根据新增的需求增加实体联系图中的实体的联系和联系的类型。根据问题描述,多个库管员需对每个仓库中的每一类被抽查服装记录一条抽查结果。则须在库管员实体与仓库实体和服装实体三者之间的存在“抽查”联系,联系的类型是多对多对多(*:*:*)。四、试题四(总题数:1,分数:15.00)阅读下列说明,回答问题 1 至问题 3,将解答填入对应栏内。说明某学校拟开发一套校友捐赠管理系统,以便对校友的捐赠资金进行管理。需求分析校友可以向学校提出捐赠申请,说明捐赠的金额、捐赠类型和使用方式。捐赠类型包括一次性捐赠和周期性捐赠。捐赠的使用方式分为两种:一种用于资助个
40、人,即受益人为多名学生或老师,主要用于奖学金、奖教金和助学金等;另一种用于资助捐赠项目,即资助已有的捐赠项目和设立新的捐赠项目,主要用于改善教学设施、实验室建设和设备购买等。捐赠项目由捐赠理事建立,一个捐赠项目可以涉及多个受益单位,每个单位在该项目中有确定的受益比例。由捐赠理事为项目中的每个单位指定一个项目负责人,并指定每个单位受益比例。每个单位的受益比例是指在一个捐赠项目中的每个单位所应得的金额占该捐赠项目总受益金额的比例。一个捐赠项目可以由多个捐赠来资助,一个捐赠也可以资助多个捐赠项目。由捐赠理事将一个捐赠的捐赠金额分配给所资助的多个捐赠项目,并指定给每个捐赠项目的具体的捐赠金额。初步设计
41、了校友捐赠信息数据库,其关系模式如图 4-1 所示。(分数:15.00)(1).对关系“校友信息”,请回答以下问题: (1)列举出所有候选键的属性。 (2)关系“校友信息”可达到第几范式,用 60 字以内文字简要叙述理由。(分数:5.00)_正确答案:(1)“校友编号”和“身份证号”。(2)“校友信息”关系模式可以达到第二范式,不满足第三范式。由于“校友信息”关系模式的主键是“校友编号”,但又包含函数依赖:班级院系,入学年份不满足第三范式的要求,即存在非主属性对码的传递依赖。)解析:本题考查数据库理论的规范化,属于比较传统的题目,考查点也与往年类似。本问题考查非主属性和第三范式。根据“校友信息”关系模式可知,“校友编号”和“身份证号”都是校友信息的决定因素,因此都是候选键的属性。根据第三范式的要求:每一个非主属性既不部分依赖于码也不传递依赖于码。根据“校友信息”关系模式,其中存在以下函数依赖:班级院系,入学年份而由于“校友信息”关系模式的主键是“校友编号”,因而,存在非主属性对码的传递依赖。所以,“校友信息”关系模式可以达到第二范式,但不满足第三范式。(2).对关系“捐赠信息”,请回答以下问题: (1)针对“捐赠信息”关系,用 100 字以内文字简要说明会产生什么问