资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库系统工程师下午试题分析与解答数据库系统工程师下午试题分析与解答 试题一(共试题一(共 1515 分)分) 阅读以下说明和图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 【说明】【说明】 某音像制品出租商店欲开发一个音像管理信息系统,管理音像制品的租借业务。需求如下: 1. 系统中的客户信息文件保存了该商店的所有客户的用户名、密码等信息。对于首次来租借的客户,系统会为其生成用户名和初始密码。 2. 系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量。 3. 根据客户所租借的音像制品的品种,按天收取相应的费用。音像制品的最长租借周期为一周,每位客户每次最多只能租借 6 件音像制品。 4. 客户租借某种音像制品的具体流程为: (1)根据客户提供的用户名和密码,验证客户身份。 (2)若该客户是合法客户,查询音像制品信息文件,查看商店中是否还有这种音像制品。 (3)若还有该音像制品,且客户所要租借的音像制品数小于等于 6 个,就可以将该音像制品租借给客户。这时,系统给出相应的租借确认信息,生成一条新的租借记录并将其保存在租借记录文件中。 (4)系统计算租借费用,将费用信息保存在租借记录文件中并告知客户。 (5)客户付清租借费用之后,系统接收客户付款信息,将音像制品租借给该客户。 5. 当库存中某音像制品数量不能满足客户的租借请求数量时,系统可以接受客户网上预约租借某种音像制品。系统接收到预约请求后,检查库存信息,验证用户身份,创建相应的预约记录,生成预约流水号给该客户,并将信息保存在预约记录文件中。 6. 客户归还到期的音像制品,系统修改租借记录文件,并查询预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品。 【问题【问题 1 1】 图 1-1 中只有一个外部实体 E1。使用说明中的词语,给出 E1 的名称。 【问题【问题 2 2】 使用说明中的词语,给出图 1-2 中的数据存储 D1D4 的名称。 (点击查看大图)图 1-1 顶层数据流图 (点击查看大图)图 1-2 0 层数据流图 【问题【问题 3 3】 数据流图 1-2 缺少了三条数据流,根据说明及数据流图 1-1 提供的信息,分别指出这三条数据流的起点和终点。 起 点 终 点 【问题【问题 4 4】 在进行系统分析与设计时,面向数据结构的设计方法(如 Jackson 方法)也被广泛应用。简要说明面向数据结构设计方法的基本思想及其适用场合。 试题一分析试题一分析 根据题目说明,本系统的外部实体仅仅涉及到客户,因此系统的顶层数据流图中 E1 应该对应为客户。 题目的第二个问题在于识别系统中的数据文件 D1 至 D4,根据 0 层数据流图中的数据文件与处理之间的关系分析可以得知: D1 为创建新客户加工的输出,并且为加工 1、6 和 7 的输入,再根据题目中的描述客户信息文件与创建客户信息、预约、 归还和履行预约都相关, 因此 D1 便是客户信息文件。 同理可分析出 D2 为音箱制品信息文件、 D3 为租借记录文件、D4 为预约记录文件。 图 1-2 中缺少了三条数据流,我们首先检查顶层数据流图和 0 层数据流是否一致。首先,从顶层数据流图中可以看出,与 E1 直接相关的数据流共有 9 条,而在 0 层数据流图中与 E1 直接关联的则只有 7 条,因此可以直接断定,图 1-2中至少缺少直接与 E1 相关的两条数据流,该两条数据流分别为:新客户创建请求和预约流水号。新客户创建请求通过创建新客户加工将客户的信息写到客户信息文件中,因此其起点和终点分别为:E1 和 4。同理,预约流水号的起点和终点为 5 和 E1。在说明中,客户归还到期的音像制品,系统修改租借记录文件,并查询预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品。因此,在客户归还和履行预约服务之间存在着数据上的联系。 面向数据结构的设计方法以数据结构作为设计的基础,它根据输入/输出数据结构导出程序的结构。面向数据结构的设计方法用于规模不大的数据处理系统。 参考答案参考答案 【问题【问题 1 1】 E1:客户 【问题【问题 2 2】 D1:客户信息文件 D2:音像制品信息文件 D3:租借记录文件 D4:预约记录文件 【问题【问题 3 3】 起 点 终 点 E1 或 客户 4 或 创建新客户 5 或 创建预约记录 E1 或 客户 6 或 归还音像制品 7 或 履行预约服务 注意:三条数据流无前后顺序区分 【问题【问题 4 4】 面向数据结构的设计方法以数据结构作为设计的基础,它根据输入/输出数据结构导出程序的结构。 面向数据结构的设计方法用于规模不大的数据处理系统。 试题二(共试题二(共 1515 分)分) 阅读下列说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 【说明】【说明】 某论坛的部分关系模式如下: 用户(用户编号,账号,密码,积分,级别) 栏目(栏目编号,父栏目编号,名称,版主,描述) 主题(主题编号,标题,类型,点击率,内容,发布时间,栏目编号,用户编号,附件) 回复主题(回复主题编号,标题,主题编号,内容,发布时间,用户编号,附件) 其中: (1)用户编号唯一标识一个用户。用户的积分根据其发布的主题信息按积分规则计 算。级别的值来自集合 高级用户, 普通用户, 初级用户,当用户开始注册时,积分为 100,级别为初级用户;当用户积分到达 1000 时,级别为普通用户;当用户积分到达 5000 时,级别为高级用户。 (2)栏目编号唯一标识一个栏目。栏目分两级,包括父栏目和子栏目。每个栏目必须有且仅有一个版主,版主是一个用户。 (3)主题编号唯一标识一个主题。类型的值来自集合 精华, 置顶, 普通。 (4)回复主题编号唯一识别一个回复主题。一个回复主题对应一个主题,而一个主题可以有多个回复主题。 【问题【问题 1 1】 请将下列 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 2】 请将下列 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 3】 假设所有关系模式已创建,回复主题关系模式的“主题编号“是外键,参照主题关系模式的“主题编号“。现在要删除编号为“T005“的主题及其相关的回复主题,下面是对应的删除语句,这些语句组成一个事务。 DELETE 主题 WHERE 主题编号 = T005; DELETE 回复主题 WHERE 主题编号= T005; (1)请问这些删除语句能否完成功能?若不能,请说明为什么?(100 字以内) (i) (2) 假设现在希望仅通过“DELETE 主题 WHERE主题编号 = T005;“这一条语句就能完成此删除功能, 应如何实现?(100 字以内) (j) 【问题【问题 4 4】 为了了解每个栏目用户关注的主题,对原创主题创建视图主题_view,属性包括主题编号、标题、用户账号、栏目名称、回复数、点击率和发布时间。 CREATE VIEW 主题_view (主题编号,标题,用户账号,栏目名称,回复数,点击率,发布时间) AS SELECT 主题.主题编号,标题,账号,名称,回复数,点击率,发布时间 FROM 主题,用户,栏目,( (k) FROM 回复主题 (l) )AS A WHERE 主题.用户编号 = 用户.用户编号 AND 主题.栏目编号 = 栏目.栏目编号 AND (m) ; 试题二分析试题二分析 本题考查 SQL 语言的知识。 【问题【问题 1 1】 本题考查的是 SQL 的数据定义语言,即 SQL 的 DDL,第(1)题为基本表结构的修改,增加一个新的列用“ALTER ADD “语句; 第 (2) 题为参照完整性约束, 因为栏目关系中的父栏目编号和版主是外键, 应该定义参照完整性约束。 【问题【问题 2 2】 本题考查的是 SQL 的数据操纵语言,即 SQL 的 DML 中的 SELECT 语句。根据要求完成特定的查询要求,第(1)题考查 LIKE、ORDER BY 关键字的应用方法,第(2)题考查 IN 和 UNION 关键字的应用方法。 数据查询是数据库的核心操作,SELECT 语句是 SQL 语言中进行查询的语句。该语句提供丰富的功能和灵活的使用方式。SELECT 语句的一般格式为: SELECT ALL|DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC; SELECT 既可以完成简单的单表查询,也可以完成复杂的连接查询和嵌套查询。考生应对 SELECT 语句非常熟悉,并能灵活的应用该语句进行各种查询。 【问题【问题 3 3】 本题考查的是参照完整性约束,第(1)题给的两个 DELETE 语句,删除了主题编号为“T005“的主题后,可能会存在该主题的回复主题,违反参照完整性约束。因此 SQL 语句不能完成想要完成的功能,若这两个语句先后顺序调换过来,则可以完成功能。第(2)题要求仅用一个 DELETE 语句就完成该删除要求,数据库提供了一些机制完成这个要求,一个是在定义回复主题关系时指定级联删除,定义主题编号属性的外键约束后加上 ON DELETE CASCADE;或者通过触发器机制,在主题关系上定义触发器,当删除主题时,删除其对应的回复主题,通过 CREATE TRIGGER . 语句完成。 【问题【问题 4 4】 本题考查的是数据库的视图,视图也是数据库中非常重要的概念,考生应该熟悉这个内容。另外,本题考查的还主要是 SELECT 查询语句的应用方法。 参考答案 【问题【问题 1 1】 (1)(a)ALTER TABLE 用户 ADD 个性签名 VARCHAR(60); (2)(b)FOREIGN KEY(父栏目编号) REFERENCES 栏目(栏目编号) (c)FOREIGN KEY(版主) REFERENCES 用户(用户编号) 【问题【问题 2 2】 (1)(d)WHERE 标题 LIKE %SQL%
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号