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 分)