首页

软考 - 中级_数据库系统工程师

类型:
选择方向:
选择考试:
题型:
为你找到 70 个题目。

阅读下列说明,回答问题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至问题3,将解答填入答题纸的对应栏内。
【说明】
某企业的生产管理部门拟开发生产计划管理系统,该系统负责管理生产计划信息,记录生产安排和采购的情况。现有的表格信息如表4-1、表4-2和4-3所示。

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

该企业的生产管理部门可根据需求制定多个生产计划。每个生产计划包含多个生产产品。一个生产产品可由多个生产小组共同生产。一个产品基于固定数量的用料来生产。企业有多个供应商,每个供应商可以提供若干种材料,每种材料可以由多个供应商提供。企业根据不同生产计划,从供应商处购买材料。
属性间的函数依赖关系如下:
对于“生产计划 ”关系模式:
生产计划编号 → 生产计划名称,起始时间,截止时间,预算总金额 
生产计划编号,产品编号 → 生产数量  
产品编号 → 产品名称
生产小组编号 → 生产小组名称
生产计划编号,生产小组编号,产品编号 → 安排人力
生产计划编号,产品编号 →→ 生产小组编号,安排人力
对于 “产品用料”关系模式:
材料编号 → 材料名称,单位
产品编号,材料编号 → 材料数量
对于“采购”关系模式:
采购单号 → 供应商,地址,电话,总价格,日期
采购单号,材料编号 → 数量
供应商,材料编号 → 单价
供应商 → 地址,电话 

【问题1】 (7 分)
对关系“生产计划” ,请回答以下问题:  
(1)关系“生产计划”是否满足第四范式?用不超过200个字的内容叙述理由。
(2)把“生产计划”分解为第四范式,分解后的关系名依次为:生产计划1,生产计划2 …  
【问题2】 (6 分)
 对关系“采购”,请回答以下问题:  
(1)若“采购”关系中不考虑折扣情况,则该关系是否存在派生属性?若存在,指出其中的派生属性。
(2)针对“采购”关系,用100字以内文字简要说明会产生什么问题。
(3)分解“采购”关系,分解后的关系名依次为:采购1,采购2 …
【问题3】 (2 分) 
试分析可否根据图4-1生产计划数据库,统计出某一个生产计划所采购的某个供应商的总金额?并用不超过100个字的内容叙述理由。 

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某地区举行篮球比赛,需要开发一个比赛信息管理系统来记录比赛的相关信息。
【需求分析结果】
 1.登记参赛球队的信息。记录球队的名称、代表地区、成立时间等信息。系统记录球队的每个队员的姓名、年龄、身高、体重等信息。每个球队有一个教练负责管理球队,一个教练仅负责一个球队。系统记录教练的姓名、年龄等信息。 
 2.安排球队的训练信息。比赛组织者提供若干个场地,供球队进行适应性训练。系统记录现有的场地信息,包括:场地名称、场地规模、位置等信息。系统可为每个球队安排不同的训练场地,如表3-1所示。系统记录训练场地安排的信息。

3.安排比赛。该赛事聘请有专职裁判,每场比赛只安排一个裁判。系统记录裁判的姓名、年龄、级别等信息。系统按照一定的规则,首先分组,然后根据球队、场地和裁判情况,安排比赛(每场比赛的对阵双方分别称为甲队和乙队)。记录参赛球队、比赛时间、比分、场地名称等信息,如表3-2所示。
4.所有球员、教练和裁判可能出现重名情况。 

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

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

【问题1】(5 分)
根据问题描述,补充四个联系,完善图3-1的实体联系图。
【问题2】(8 )
根据你的实体联系图,完成关系模式,并给出训练记录和比赛记录关系模式的主键和外键。
【问题3】(2 分)
如果考虑记录一些特别资深的热心球迷的情况,每个热心球迷可能支持多个球队。热心球迷的基本信息包括:姓名、住址和喜欢的俱乐部等。根据这一要求修改图3-1的实体联系图,给出修改后的关系模式。

阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某论坛的部分关系模式如下:
用户(用户编号,帐号,密码,积分,级别)
栏目(栏目编号,父栏目编号,名称,版主,描述)
主题(主题编号,标题,类型,点击率,内容,发布时间,栏目编号,用户编号,附件)
回复主题(回复主题编号,标题,主题编号,内容,发布时间,用户编号,附件)
其中:
(1)用户编号唯一标识一个用户。用户的积分根据其发布的主题信息按积分规则计算。级别的值来自集合{‘高级用户’, 普通用户’, ‘初级用户’},当用户开始注册时,积分为100,级别为初级用户;当用户积分到达1000时,级别为普通用户;当用户积分到达5000时,级别为高级用户。
(2)栏目编号唯一标识一个栏目。栏目分两级,包括父栏目和子栏目。每个栏目必须有且仅有一个版主,版主是一个用户。
(3)主题编号唯一标识一个主题。类型的值来自集合{ ‘精华’, ‘置顶’, ‘普通’}。
(4)回复主题编号唯一识别一个回复主题。一个回复主题对应一个主题,而一个主题可以有多个回复主题。

问题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
请将下列SQL语句的空缺部分补充完整。
(1)查询标题或内容包含“SQL”的主题标题,按发布时间降序排序。
 SELECT DISTINCT 标题 
FROM 主题
(d)  
(e)    ;
(2)查找名称为“数据库技术”的栏目及其子栏目中的精华主题的标题和点击率。 
SELECT 标题,点击率
FROM 主题
WHERE 类型= ‘ 精华’  
AND 栏目编号 (f)   (SELECT 栏目编号  
FROM 栏目
WHERE 名称= ‘数据库技术’ 
(q)   
SELECT 栏目编号
FROM 栏目
WHERE  (h)  (SELECT 栏目编号  
FROM 栏目
WHERE 名称=‘ 数据库技术’ )); 
问题3
 假设所有关系模式已创建,回复主题关系模式的“主题编号”是外键,参照主题关系模式的“主题编号” 。现在要删除编号为“T005”的主题及其相关的回复主题,下面是对应的删除语句,这些语句组成一个事务。
DELETE 主题  WHERE 主题编号  = ‘T005 ’;
DELETE 回复主题  WHERE 主题编号= ‘T005’;  
(1)请问这些删除语句能否完成功能?若不能,请说明为什么?(100字以内)  
(i)   
(2)假设现在希望仅通过“DELETE 主题  WHERE 主题编号  = ‘ T005’ ;”这一条语句就能完成此删除功能,应如何实现?  (100字以内)
(j)   
问题4
为了了解每个栏目用户关注的主题,对原创主题创建视图主题_view,属性包括主题编号、标题、用户帐号、栏目名称、回复数、点击率和发布时间。
CREATE VIEW 主题_view (主题编号,标题,用户帐号,栏目名称,回复数,点击率,发布时间) AS      SELECT 主题.主题编号,标题,帐号,名称,回复数,点击率,发布时间  
FROM 主题,用户,栏目,  (    (k)     
FROM 回复主题  
(l)    )  AS    A
WHERE 主题.用户编号=用户.用户编号 AND 主题.栏目编号=栏目.栏目编号 AND              (m)      ; 

 阅读以下说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某音像制品出租商店欲开发一个音像管理信息系统,管理音像制品的租借业务。需求如下:
1. 系统中的客户信息文件保存了该商店的所有客户的用户名、密码等信息。对于首次来租借的客户,系统会为其生成用户名和初始密码。
2. 系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量。
3. 根据客户所租借的音像制品的品种,会按天收取相应的费用。音像制品的最长租借周期为一周,每位客户每次最多只能租借6件音像制品。
4. 客户租借某种音像制品的具体流程为:
(1)根据客户提供的用户名和密码,验证客户身份。
(2)若该客户是合法客户,查询音像制品信息文件,查看商店中是否还有这种音像制品。
(3)若还有该音像制品,且客户所要租借的音像制品数小于等于 6 个,就可以将该音像制品租借给客户。这时,系统给出相应的租借确认信息,生成一条新的租借记录并将其保存在租借记录文件中。
(4)系统计算租借费用,将费用信息保存在租借记录文件中并告知客户。
(5)客户付清租借费用之后,系统接收客户付款信息,将音像制品租借给该客户。  
5. 当库存中某音像制品数量不能满足客户的租借请求数量时,系统可以接受客户网上预约租借某种音像制品。系统接收到预约请求后,检查库存信息,验证用户身份,创建相应的预约记录,生成预约流水号给该客户,并将信息保存在预约记录文件中。
6. 客户归还到期的音像制品,系统修改租借记录文件,并查询预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品。

 图1-2  0层数据流图

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

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

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某停车场有多个入口和出口,车辆进入时从入口处由系统查询可用的停车位,从出口驶出时系统将其刚使用的车位标记为空车位。

根据上述描述,在入口处的伪代码程序为:
x = Get();
IF x =NULL THEN return 0;
Writ(x, 1);

【问题1】(3
    若两辆车在不同的入口处同时执行上述代码,会出现什么问题?(100字以内描述)
【问题2】(8分) 
    为保证入口处伪代码正确地并发执行,引入共享锁指令 SLock(T)和独占锁指令XLock(T)对表 T 进行加锁;Upgrade(T)对表 T 所加的共享锁升级为独占锁;解锁指令Unlock(T)对表T 进行解锁。
    (1)请修改上述入口处的伪代码程序,使其满足2PL协议。
    (2)满足2PL协议的入口处的伪代码程序,在并发执行时是否会产生死锁?若是,给出一个产生死锁的调度。
【问题3】(4分)
    若停车位表的关系模式为:park(parkno, isused),其中parkno为停车位号,isused为停车位标志,0为空,1为非空。
    下面是用E-SQL实现的查询空车位的函数Get(),请补全空缺处的代码。
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
EXEC SQL DECLARE getblk CURSOR FOR
 (a)    ;
 EXEC SQL OPEN getblk ;
 EXEC SQL FETCH getblk INTO :Hparkno; // Hparkno为已声明的主变量
 IF SQLCA.sqlcode = 100 THEN
 EXEC SQL CLOSE getblk ;    Return NULL;
 ELSE
(b)    ;
END IF 

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】 
M公司为某宾馆设计宾馆机票预订系统,初步的需求分析结果如下:
(1)客户可以在提前预订或直接入住时向宾馆提供相关信息, 宾馆登记的客户信息包括:客户编号,姓名,性别,类型,身份证号,联系方式,预订日期,入住时间和离开时间等信息。其中类型字段说明客户是普通客户或 VIP 客户,不同的客户类型享受订票的折扣额度不同。直接入住的客户其预订日期取空值。
(2)需要预订机票的客户应填写“机票预订”表,提供飞行日期、航班号、出发时间、目的地等信息。宾馆根据客户订票信息购票后,生成“客户订单”表,并根据客户类型确定相应的折扣额度。“机票预订”和“客户订单”表如表1-1、1-2所示。


【逻辑结构设计】
根据需求阶段收集的信息,设计的关系模式如图1-1所示。

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

【问题1】(6分)
    对关系“客户”,请回答以下的问题:
    (1)若选定(客户编号, 预订日期)作主码,未预订而直接入住的客户信息能否录入客户表?如不能,请说明原因。
    (2)对“客户”关系增加一个流水号属性作为主码,“客户”关系属于第几范式?还存在哪些问题?
    (3)将增加入住标识属性后的“客户”关系分解为第三范式,分解后的关系名依次取客户1、客户2、…。
【问题2】(6分)
    对关系“航班”,请回答以下问题: 
    (1)列举出“航班”关系中所有不属于任何候选码的属性(非码属性)。
    (2)该关系模式可达到第几范式?用不超过60个字的内容叙述理由。
【问题3】(3 分)  
    对于没有预订客房或入住宾馆的客户,需要在(a)关系中修改其(b)属性的值域,以满足这类客户在宾馆预订机票的需求。

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【试题说明】
某集团公司拥有多个大型连锁商场,公司需要构建一个数据库系统便于管理其业务运作活动。
【需求分析结果】
1. 商场需要记录的信息包括商场编号(商场编号不重复)、商场名称、地址和联系电话。某商场信息如表1-1所示。

2. 每个商场包含不同的部门,部门需要记录的信息包括部门编号(不同商场的部门编号不同)、部门名称、位置分布和联系电话。某商场的部门信息如表1-2所示。

3. 每个部门雇用了多名员工处理日常事务,每名员工只能属于一个部门(新进员工在培训期不隶属于任何部门)。员工需要记录的信息包括员工编号、姓名、岗位、电话号码和工资。员工信息如表1-3所示。

4. 每个部门的员工中有一个是经理,每个经理只能管理一个部门。系统要记录每个经理的任职时间。 
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下:

【关系模式设计】
商场(商场编号,商场名称,地址,联系电话)
部门(部门编号,部门名称,位置分布,联系电话,(a) )
员工(员工编号,姓名,岗位,电话号码,工资,(b) )
经理( (c),任职时间)

【问题1】
    根据问题描述,补充四个联系,完善图1-1的实体联系图。
【问题2】
    根据实体联系图,将关系模式中的空(a)~(c)补充完整,并分别给出部门、员工和经理关系模式的主键和外键。
【问题3】
    为了使商场有紧急事务时能联系到轮休的员工,要求每位员工必须且只能登记一位紧急联系人的姓名和联系电话(假设不同员工可以登记相同的紧急联系人)。中还需添加的实体是(d),该实体与图1-1中的员工关系存在(e)联系。给出该实体的关系模式。

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】某网上书店后台数据库的部分关系模式如下:
会员(会员编号,用户名,密码,姓名,地址,邮编,电话,消费额,积分)
图书(图书编号,类型名称,图书名称,作者,出版社,出版日期,ISBN,价格) 
订单(订单编号,用户名,销售额,订购日期,出货日期)
订单明细(订单明细编号,订单编号,图书编号,数量)

【问题1】(3分)
下面是创建订单关系的SQL语句,订单编号唯一识别一个订单,用户名为订购图书的会员用户名,且不能为空。要求订购日期不能大于出货日期。请将空缺部分补充完整。
CREATE TABLE 订单(
订单编号  CHAR(6) (a),
用户名  VARCHAR(40) NOT NULL (b)
销售额  FLOAT ,
订购日期  DATE NOT NULL ,
出货日期  DATE (c)) ;
【问题2】(10分)
请完成下列查询的SQL语句。
(1)查询名称中包含“数据库”的图书的图书名称,作者,出版社和出版日期。
SELECT  (d)
FROM 图书  
WHERE 图书名称(e)    ;
(2)查询提供销售(图书表中有)但没有销售过(没在订单明细表中出现)的图书名称和出版社。
SELECT 图书名称, 出版社
FROM图书
WHERE NOT EXISTS (  
SELECT (f)  
FROM订单明细
WHERE  (g) ) ;
(3)查询订购图书数量最多的会员名及其订购的数量。
SELECT 用户名,  (h)
FROM订单, 订单明细
WHERE  (i)
GROUP BY 用户名  
HAVING (j)
 ( SELECT SUM(数量)
FROM 订单, 订单明细
WHERE 订单.订单编号  = 订单明细.订单编号
GROUP BY 用户名) ; 
(4)为了统计会员的购买行为信息,实施有意义的客户关怀策略,查询会员的平均订购间隔时间,考虑多次购买图书和一次购买图书的情况(其中,DATEDIFF 函数表示两个日期之间的天数)。
SELECT 用户名, CASE WHEN(k)
THEN DATEDIFF(MAX(订购日期), MIN(订购日期)) / (l)
ELSE DATEDIFF (CURRENT_TIMESTAMP, MIN(订购日期))
END AS AVG_GAP
FROM 订单
(m)  ;
【问题3】(2分) 
会员订购图书后,将本次订购的销售额累加到该会员的消费额中,并按照本次订单的销售额计算积分累加到该会员的积分中(每20元增加1个积分,不足20元不计入积分)。下面用触发器实现该需求,请填充空缺部分。
CREATE TRIGGER 会员积分_TRIGGER  AFTER (n)
REFERENCING NEW ROW AS NROW
BEGIN
UPDATE 会员  
SET 消费额  = 消费额  + NROW.销售额, (o)
WHERE 用户名  = NROW.用户名
END

 阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。
【说明】
假设某大型商业企业由商品配送中心和连锁超市组成,其中商品配送中心包括采购、财务、配送等部门。为实现高效管理,设计了商品配送中心信息管理系统,其主要功能描述如下: 
1.  系统接收由连锁超市提出的供货请求,并将其记录到供货请求记录文件。
2.  在接到供货请求后,从商品库存记录文件中进行商品库存信息查询。如果库存满足供货请求,则给配送处理发送配送通知;否则,向采购部门发出缺货通知。 
3.  配送处理接到配送通知后,查询供货请求记录文件,更新商品库存记录文件,并向配送部门发送配送单,在配送货品的同时记录配送信息至商品配送记录文件。  
4.  采购部门接到缺货通知后,与供货商洽谈,进行商品采购处理,合格商品入库,并记录采购清单至采购清单记录文件、向配送处理发出配送通知,同时通知财务部门给供货商支付货款。
该系统采用结构化方法进行开发,得到待修改的数据流图(如图1-1所示)。

【问题1】(8分)
    使用【说明】中的词语,给出图 1-1 中外部实体 E1 至 E4 的名称和数据存储 D1 至D4的名称。  
【问题2】(7分)
    图 1-1 中存在四处错误数据流,请指出各自的起点和终点;若将上述四条错误数据流删除,为保证数据流图的正确性,应补充三条数据流,请给出所补充数据流的起点和终点。(起点和终点请采用数据流图1-1中的符号或名称)

上一页

第 1 页