2008年上半年数据库系统工程师下午试卷

更新时间:2023-12-15 03:48:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2008年上半年数据库系统工程师下午试卷

试题一(共15 )

阅读以下说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

某音像制品出租商店欲开发一个音像管理信息系统,管理音像制品的租借业务。需求如下: 1. 系统中的客户信息文件保存了该商店的所有客户的用户名、密码等信息。对于首次来租借的客户,系统会为其生成用户名和初始密码。

2. 系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量。 3. 根据客户所租借的音像制品的品种,会按天收取相应的费用。音像制品的最长租借周期为一周,每位客户每次最多只能租借6件音像制品。 4. 客户租借某种音像制品的具体流程为:

(1)根据客户提供的用户名和密码,验证客户身份。

(2)若该客户是合法客户,查询音像制品信息文件,查看商店中是否还有这种音像制品。 (3)若还有该音像制品,且客户所要租借的音像制品数小于等于 6 个,就可以将该音像制品租借给客户。这时,系统给出相应的租借确认信息,生成一条新的租借记录并将其保存在租借记录文件中。

(4)系统计算租借费用,将费用信息保存在租借记录文件中并告知客户。

(5)客户付清租借费用之后,系统接收客户付款信息,将音像制品租借给该客户。 5. 当库存中某音像制品数量不能满足客户的租借请求数量时,系统可以接受客户网上预约租借某种音像制品。系统接收到预约请求后,检查库存信息,验证用户身份,创建相应的预约记录,生成预约流水号给该客户,并将信息保存在预约记录文件中。

6. 客户归还到期的音像制品,系统修改租借记录文件,并查询预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品。 音像管理信息

5

【问题 1】(1 分)

图1-1中只有一个外部实体E1。使用【说明】中的词语,给出E1的名称。 【问题2 】(6 分)

使用【说明】中的词语,给出图1-2中的数据存储D1~D4的名称。 【问题3】(6 分) 数据流图 1-2 缺少了三条数据流,根据说明及数据流图 1-1 提供的信息,分别指出 这三条数据流的起点和终点。 起点

【问题 4】(2 分)

在进行系统分析与设计时,面向数据结构的设计方法(如 Jackson 方法)也被广泛 应用。简要说明面向数据结构设计方法的基本思想及其适用场合。

试题二(共15 分)

阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】某论坛的部分关系模式如下:

用户(用户编号,帐号,密码,积分,级别)

栏目(栏目编号,父栏目编号,名称,版主,描述)

主题(主题编号,标题,类型,点击率,内容,发布时间,栏目编号,用户编号,附件) 回复主题(回复主题编号,标题,主题编号,内容,发布时间,用户编号,附件)

终点 其中:

(1)用户编号唯一标识一个用户。用户的积分根据其发布的主题信息按积分规则计算。级别的值来自集合{ ‘高级用户’, ‘普通用户’, ‘初级用户’},当用户开始注册时,积分为100,级别为初级用户;当用户积分到达1000时,级别为普通用户;当用户积分到达5000时,级别为高级用户。

(2)栏目编号唯一标识一个栏目。栏目分两级,包括父栏目和子栏目。每个栏目必须有且仅有一个版主,版主是一个用户。

(3)主题编号唯一标识一个主题。类型的值来自集合{ ‘精华’, ‘置顶’, ‘普通’}。 (4)回复主题编号唯一识别一个回复主题。一个回复主题对应一个主题,而一个主 题可以有多个回复主题。

【问题1】(3 分)

请将下列SQL语句的空缺部分补充完整。

(1)假设已经创建好用户关系,现在想增加一个属性“个性签名” ,类型为 VARCHAR(60),请给出相关的SQL语句。

(a) ;

(2)假设已经创建好用户关系,下面是创建栏目关系的SQL语句,请将空缺部分 补充完整。 CREATE TABLE 栏目( 栏目编号 VARCHAR(8) PRIMARY KEY, 父栏目编号 VARCHAR(8), 名称 VARCHAR(40), 版主 VARCHAR(8) NOT NULL, 描述 VARCHAR(100),

(b) , (c) ); 【问题2】(5 分) 请将下列SQL语句的空缺部分补充完整。

(1)查询标题或内容包含“SQL”的主题标题,按发布时间降序排序。 SELECT DISTINCT 标题 FROM 主题

(d)

(e) ;

(2)查找名称为“数据库技术”的栏目及其子栏目中的精华主题的标题和点击率。 SELECT 标题,点击率 FROM 主题

WHERE 类型= ‘精华’

AND 栏目编号 (f) (SELECT 栏目编号 FROM 栏目

WHERE 名称= ‘数据库技术’

(g) SELECT 栏目编号 FROM 栏目

WHERE (h) (SELECT 栏目编号

FROM 栏目

WHERE 名称=‘数据库技术’));

【问题3】(4 分)

假设所有关系模式已创建,回复主题关系模式的“主题编号”是外键,参照主题关系模式的“主题编号” 。现在要删除编号为“T005”的主题及其相关的回复主题,下面是对应的删除语句,这些语句组成一个事务。

DELETE 主题 WHERE 主题编号 = ‘T005’;

DELETE 回复主题 WHERE 主题编号= ‘T005’;

(1)请问这些删除语句能否完成功能?若不能,请说明为什么?(100字以内) (i)

(2)假设现在希望仅通过“DELETE 主题 WHERE 主题编号 = ‘T005’;”这一条语句就能完成此删除功能,应如何实现? (100字以内)

(j)

【问题4】(3 分)

为了了解每个栏目用户关注的主题,对原创主题创建视图主题_view,属性包括主题编号、标题、用户帐号、栏目名称、回复数、点击率和发布时间。 CREATE VIEW 主题_view (主题编号,标题,用户帐号,栏目名称,回复数,点击率,发布时间) AS

SELECT 主题.主题编号,标题,帐号,名称,回复数,点击率,发布时间

FROM 主题,用户,栏目,( (k)

FROM 回复主题

(l) ) AS A

WHERE 主题.用户编号 = 用户.用户编号 AND 主题.栏目编号 = 栏目.栏目编号 AND (m) ;

试题三(共 15 分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】

某地区举行篮球比赛,需要开发一个比赛信息管理系统来记录比赛的相关信息。 【需求分析结果】

1.登记参赛球队的信息。记录球队的名称、代表地区、成立时间等信息。系统记录球队的每个队员的姓名、年龄、身高、体重等信息。每个球队有一个教练负责管理球队,一个教练仅负责一个球队。系统记录教练的姓名、年龄等信息。

2.安排球队的训练信息。比赛组织者为球队提供了若干个场地,供球队进行适应性训练。系统记录现有的场地信息,包括:场地名称、场地规模、位置等信息。系统可为每个球队安排不同的训练场地,如表3-1所示。系统记录训练场地安排的信息。 表 3-1 训练安排表 球队名称 解放军 解放军 解放军 山西 场地名称 一号球场 一号球场 二号球场 一号球场 训练时间 2008-06-09 14:00-18:00 2008-06-12 09:00-12:00 2008-06-11 14:00-18:00 2008-06-10 09:00-12:00

3.安排比赛。该赛事聘请有专职裁判,每场比赛只安排一个裁判。系统记录裁判

的姓名、年龄、级别等信息。系统按照一定的规则,首先分组,然后根据球队、场地和 裁判情况,安排比赛(每场比赛的对阵双方分别称为甲队和乙队)。记录参赛球队、比 赛时间、比分、场地名称等信息,如表3-2所示。 4.所有球员、教练和裁判可能出现重名情况。 表 3-2 比赛安排表 A组: 甲队----乙队 解放军----北京 天津----山西 B 组: 甲队----乙队 上海----安徽 山东----辽宁 场地名称 二号球场 二号球场 比赛时间 2008-06-17 15:00 2008-06-17 19:00 郭爱琪 裁判 丁鸿平 比分 场地名称 一号球场 一号球场 比赛时间 2008-06-17 15:00 2008-06-17 19:00 裁判 李大明 胡学梅 比分

【概念模型设计】

根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下: 1. 实体联系图

2. 关系模式

教练(教练编号,姓名,年龄)

队员(队员编号,姓名,年龄,身高,体重, (a) ) 球队(球队名称,代表地区,成立时间, (b) ) 场地(场地名称,场地规模,位置) 训练记录( (c) ) 裁判(裁判编号,姓名,年龄,级别) 比赛记录( (d) )

【问题1】(5 分)

根据问题描述,补充四个联系,完善图3-1的实体联系图。

【问题2】(8 )

根据你的实体联系图,完成关系模式,并给出训练记录和比赛记录关系模式的主键和外键。 【问题3】(2 分)

如果考虑记录一些特别资深的热心球迷的情况,每个热心球迷可能支持多个球队。热心球迷的基本信息包括:姓名、住址和喜欢的俱乐部等。根据这一要求修改图3-1的实体联系图,给出修改后的关系模式。

试题四(共15 分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

【说明】

某企业的生产管理部门拟开发生产计划管理系统,该系统负责管理生产计划信息, 记录生产安排和采购的情况。现有的表格信息如表4-1、表4-2和4-3所示。

表 4-1 某企业布艺玩具生产计划

编号:LFX/JL7.5.1-01 计划名称:10月份布艺玩具生产计划 起止时间 产品编号 B0710-2 2007.10.10~2007.10.19 产品名称 玩具熊 生产数量 1000 只 500只 生产小组编号 A1 B2 B1 预算总金额 10 万 生产小组名安排人 称 裁剪1组 缝纫2组 缝纫1组 5 6 4 玩具猫 C0710-2

表 4-2 产品用料信息 产品名称 材料编号 MC005 ML008 MC011

表 4-3 采购信息 采购单号 地址 总价格 MC005 玩具熊 材料名称 米色布 米色缎带 棕色布 产品编号 数量 1.7米 0.8米 1.5米 B0710-2 P0005 上海市××路 8420元 米色布 供应商 电话 成交日期 12 上海××集团 52387717 2007-10-11 30 元/米 31元/米 棕色布 MC011 260

根据上述需求设计的生产计划数据库的关系模式如图4-1所示。

生产计划 (生产计划编号,生产计划名称,起始时间,截止时间,预算总金额,产品编号,产品名称,生产数量,生产小组编号,生产小组名称,安排人力) 产品用料 (产品编号,材料编号,材料名称,材料数量,单位) 采购 (采购单号,供应商,地址,电话,材料编号,数量,单价,总价格,日期) 图 4-1 生产计划数据库

关系模式的主要属性、含义及约束如表4-4所示。

表 4-4 主要属性、含义及约束 属性 生产计划编号 产品编号 生产小组编号 含义及约束条件 唯一标识该企业的某个生产计划的编号。 生产计划包括多个生产产品,产品编号唯一标识一个产品。 一个产品可由多个生产小组共同生产。生产小组编号唯一标识一个生产 小组。 材料编号 一种产品固定由多个材料构成。材料编号唯一标识一种材料。不同供应 商提供的相同材料对应一个材料编号。 唯一标识一个供应商。该企业有多个供应商,每个供应商可提供若干种材料。 采购单号唯一标识一次采购。一次采购从一个供应商购买多种材料。 供应商 采购单号

该企业的生产管理部门可根据需求制定多个生产计划。每个生产计划包含多个生产

产品。一个生产产品可由多个生产小组共同生产。一个产品基于固定数量的用料来生产。 企业有多个供应商,每个供应商可以提供若干种材料,每种材料可以由多个供应商提供。 企业根据不同生产计划,从供应商处购买材料。 属性间的函数依赖关系如下:

对于 对于 对于 对于“ ““ “生产计划 生产计划 生产计划 生产计划” ”” ”关系模式 关系模式 关系模式 关系模式: :: : 生产计划编号 → 生产计划名称,起始时间,截止时间,预算总金额 生产计划编号,产品编号 → 生产数量 产品编号 → 产品名称

生产小组编号 → 生产小组名称

生产计划编号,生产小组编号,产品编号 → 安排人力 生产计划编号,产品编号 →→ 生产小组编号,安排人力 对于 “产品用料”关系模式: 材料编号 → 材料名称,单位

产品编号,材料编号 → 材料数量 对于“采购”关系模式:

采购单号 → 供应商,地址,电话,总价格,日期 采购单号,材料编号 → 数量 供应商,材料编号 → 单价 供应商 → 地址,电话

【问题1】(7 分)

对关系“生产计划” ,请回答以下问题:

(1)关系“生产计划”是否满足第四范式?用不超过200个字的内容叙述理由。 (2)把“生产计划”分解为第四范式,分解后的关系名依次为:生产计划1,生产计 划2,?。

【问题2】(6 分)

对关系“采购” ,请回答以下问题:

(1)若“采购”关系中不考虑折扣情况,则该关系是否存在派生属性?若存在, 指出其中的派生属性。

(2)针对“采购”关系,用100字以内文字简要说明会产生什么问题。 (3)分解“采购”关系,分解后的关系名依次为:采购1,采购2,?。 【问题3】(2 分)

试分析可否根据图4-1生产计划数据库,统计出某一个生产计划所采购的某个供应 商的总金额?并用不超过100个字的内容叙述理由。

试题五(共15 分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】

某银行的转帐业务分为如下两类操作:

(1)读取帐户A 余额到变量x,记为x = R(A);

(2)将变量x值写入帐户A 中的余额,记为W(A, x)。

从帐户A 向帐户B 转帐金额x元的伪代码操作序列为:a = R(A), a = a-x, W(A, a), b = R(B), b = b+x, W(B,b)。

针对上述业务及规则,完成下列问题:

【问题1】(5 分)

根据业务规则,转帐业务要么被全部执行,要么全部不执行,应如何保障?假设参与转帐的帐户余额有大于等于0的约束,上述伪代码执行中可能出现什么情况,应如何处理?(100字以内)

【问题2】(5分)

若允许对同一帐号同时进行转帐,要保证转帐程序的并发执行,引入共享锁指令SLock(b)和独占锁指令XLock(A)对数据A 进行加锁,解锁指令Unlock(A)对数据A 进行解锁。 请补充上述转帐业务的伪代码序列,使其满足2PL协议。

【问题3】(5 分)

若用SQL语句编写的转帐业务事务程序如下:

START TRANSACTION; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE UPDATE Accounts

SET CurrentBalance = CurrentBalance - Amount WHERE AccountID = A;

if error then ROLLBACK; COMMIT;

UPDATE Accounts

SET CurrentBalance = CurrentBalance + Amount WHERE AccountID = B;

if error then ROLLBACK; COMMIT;

其中:Accounts为帐户表,CurrentBalance为当前余额,Amount为新存入的金额。 该事务程序能否保证数据的一致性?如不能,请说明原因并改正。(100字以内)

试题中通用的表示规则

关于概念模型、关系模式的标记,试题中若无特殊声明,将使用如下的通用标记规 则。

1.概念模型的标记规则分别如图1、图2和图3所示。其中:

(1)实体类型用长方形表示。长方形内为实体类型名称。

(2)实体类型间的联系用菱形表示。在联系与实体间的连线上注明联系的类型。

图 1 实体类型和联系的标记规则

(3)超类型和子类型之间的联系,从超类型到子类型之间画连线,连线上加注小圆 圈,子类型加双线竖框。

图 2 超类型和子类型的标记规则

(4)实体和联系的属性用椭圆表示,并用直线将属性与其所属的实体或联系连接 起来。

图 3 实体类型及联系与其属性的标记规则 2.关系模式的标记规则如下:

关系名(属性名1,属性名2,? ,属性名n)

其中:

(1)若该属性仅为主键属性,则该属性名下画实下划线; (2)若该属性仅是外键属性,则该属性名下画虚下划线;

(3)若该属性既是主键属性,又是外键属性,则在该属性名下面画实下划线和虚 下划线;

(4)若该属性既不是主键属性,又不是外键属性,则在该属性名下不做标记。

本文来源:https://www.bwwdw.com/article/18m5.html

Top