第12章 数据库系统工程师下午试题分析与解答(2010年上半年下午试题)来自百度文档
第12章 数据库系统工程师下午试题分析与解答
试题一
阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
[说明]
某大型企业的数据中心为了集中管理、控制用户对数据的访问并支持大量的连接需求,欲构建数据管理中问件,其主要功能如下:
(1)数据管理员可通过中间件进行用户管理、操作管理和权限管理。用户管理维护用户信息,用户信息(用户名、密码)存储在用户表中;操作管理维护数据实体的标准操作及其所属的后端数据库信息,标准操作和后端数据库信息存放在操作表中;权限管理维护权限表,该表存储用户可执行的操作信息。
(2)中间件验证前端应用提供的用户信息。若验证不通过,返回非法用户信息;若验证通过,中间件将等待前端应用提交操作请求。
(3)前端应用提交操作请求后,中间件先对请求进行格式检查。如果格式不正确,返回格式错误信息;如果格式正确,则进行权限验证(验证用户是否有权执行请求的操作),若用户无权执行该操作,则返回权限不足信息,否则进行连接管理。
(4)连接管理连接相应的后台数据库并提交操作。连接管理先检查是否存在空闲的数据库连接,如果不存在,新建连接;如果存在,则重用连接。
(5)后端数据库执行操作并将结果传给中间件,中间件对收到的操作结果进行处理后,将其返回给前端应用。
现采用结构化方法对系统进行分析与设计,获得如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。
[问题1]
使用说明中的词语,给出图1-1中的实体E1~E3的名称。
[问题2]
使用说明中的词语,给出图1-2中的数据存储D1~D3的名称。
[问题3]
给出图1-2中加工P的名称及其输入、输出流。
|
名称 |
起点 |
终点 |
输入流 |
操作结果 |
E3 |
P |
输出流 |
处理后的操作结果 |
P |
E1 |
除加工P的输入与输出流外,图1-2还缺失了两条数据流,请给出这两条数据流的起点和终点。
起点 |
终点 |
D2 |
权限验证 |
D3 |
权限验证 |
注:名称使用说明中的词汇,起点和终点均使用图1-2中的符号或词汇。
[问题4]
在绘制数据流图时,需要注意加工的绘制。请给出三种在绘制加工的输入、输出时可能出现的错误。
只有输入而无输出或者黑洞
只有输出而无输入或者奇迹
输入的数据流无法通过加工产生输出流或者灰洞
输入的数据流与输出的数据流名称相同
试题一分析
本题考查数据流图(DFD)的应用,是比较传统的题目,要求考生细心分析题目中所描述的内容。
DFD是一种便于用户理解、分析系统数据流程的图形工具,是系统逻辑模型的重要组成部分。
[问题1]
本问题考查顶层DFD。项层DFD一股用来确定系统边界,将待开发系统看作是一个加工,因此图中只有唯一的一个加工和一些外部实体,以及这两者之问的输入输出数据流。题目要求根据描述确定图中的外部实体。分析题目中的描述,并结合已经在顶层数据流图中给出的数据流进行分析。题目中有信息描述:数据管理员可通过中间件进行用户管理、操作管理和权限管理;前端应用提交操作请求;连接管理连接相应的后台数据库并提交操作。由此可知该中间件系统有数据管理员、前端应用和后端数据库三个外部实体。对应图1-1中数据流和实体的对应关系,可知E1为前端应用,E2为数据管理员,E3为后端数据库。
[问题2]
本问题考查0层DFD中数据存储的确定。说明中描述:用户信息(用户名、密码)存储在用户表中;标准操作和后端数据库信息存放在操作表中;权限管理维护信息存放在权限表中。因此数据存储为用户表、操作表以及权限表。再根据图1-2中D1的输入数据流从用户管理来,D2的输入数据流从操作管理来,D3的输入数据流从权限管理来,所以D1为用户表,D2为操作表,D3为权限表。
[问题3]
本问题考查0层DFD中缺失的加工和数据流。比较图1-1和图1-2,可知顶层DFD中的操作结果和处理后的操作结果没有在0层DFD中体现。再根据描述:后端数据库执行操作并将结果传给中间件,中间件对收到的操作结果进行处理后,将其返回给前端应用。可知,需要有操作结果处理,因此P为操作结果处理,其输入流从后端数据库E3来的操作结果,输出结果为处理后的操作结果,并返回给前端应用E1。
考查完P及其输入输出流之后,对图1-2的内部数据流进行考查,以找出缺失的另外2条数据流。从图中可以看出D2和D3只有输入流没有输出流,这是常见DFD设计时的错误,所以首先考查D2和D3的输出流。描述中:权限验证是验证用户是否有权执行请求的操作,若用户有权执行该操作,进行连接管理;连接管理连接相应的后台数据库并提交操作;权限表存储用户可执行的操作信息。因此,权限验证有从权限表D3来的输入数据流。而要连接后端数据库,需要数据库信息,从权限验证的输出流中包含有数据库信息可知,权限验证需要获取到数据库信息,所以还需从操作表D2来的输入流。
[问题4]
本问题考查在绘制数据流图中加工绘制时的注意事项。绘制加工时可能出现的错误有:加工的输入、输出时可能出现只有输入而无输出、只有输出而无输入、输入的数据流无法通过加工产生输出流以及输入的数据流与输出的数据流名称相同等错误。
参考答案
[问题1]
E1:前端应用 E2:数据管理员 E3:后端数据库
[问题2]
D1:用户表 D2:操作表 D3:权限表
[问题3]
P的名称:操作结果处理
|
名称 |
起点 |
终点 |
输入流 |
操作结果 |
E3 |
P |
输出流 |
处理后的操作结果 |
P |
E1 |
缺少的数据流:
起点 |
终点 |
D2 |
权限验证 |
D3 |
权限验证 |
[问题4]
在绘制数据流图的加工时,可能出现的输入、输出错误:
只有输入而无输出或者黑洞
只有输出而无输入或者奇迹
输入的数据流无法通过加工产生输出流或者灰洞
输入的数据流与输出的数据流名称相同
试题二
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
[说明]
天津市某银行信息系统的数据库部分关系模式如下所示:
客户 (客户号,姓名,性别,地址,邮编,电话)
账户 (账户号,客户号,开户支行号,余额)
支行(支行号,支行名称,城市,资产总额)
交易 (交易号,账户号,业务金额,交易日期)
其中,业务金额为正值表示客户向账户存款;为负值表示取款。
[问题1]
以下是创建账户关系的SQL语句,账户号唯一识别一个账户,客户号为客户关系的唯一标识,且不能为空。账户余额不能小于1.00元。请将空缺部分补充完整。
CREATE TABLE账户(
账户号CHAR(19) (a) PRIMARY KEY,
客户号CHAR(10) (b)FOREIGN KEY(客户号)REFERENcEs客户(客户号) ;
开户支行号CHAR(6) NOT NULL,
余额NUMBER(8,2) (c)