当前位置:首页 → 计算机类 → 软件水平考试 → 中级数据库系统工程师->2009年上半年《数据库系统工程师》案例分析真题
推荐等级:
发布时间: 2021-12-17 09:44
扫码用手机做题
某网上书店后台数据库的部分关系模式如下:
会员(会员编号,用户名,密码,姓名,地址,邮编,电话,消费额,积分)
图书(图书编号,类型名称,图书名称,作者,出版社,出版日期,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. 在接到供货请求后,从商品库存记录文件中进行商品库存信息查询。如果库存满足供货请求,则给配送处理发送配送通知;否则,向采购部门发出缺货通知。
3. 配送处理接到配送通知后,查询供货请求记录文件,更新商品库存记录文件,并向配送部门发送配送单,在配送货品的同时记录配送信息至商品配送记录文件。
4. 采购部门接到缺货通知后,与供货商洽谈,进行商品采购处理,合格商品入库,并记录采购清单至采购清单记录文件、向配送处理发出配送通知,同时通知财务部门给供货商支付货款。
该系统采用结构化方法进行开发,得到待修改的数据流图(如图1-1所示)。
【问题1】(8分)
使用【说明】中的词语,给出图 1-1 中外部实体 E1 至 E4 的名称和数据存储 D1 至D4的名称。
【问题2】(7分)
图 1-1 中存在四处错误数据流,请指出各自的起点和终点;若将上述四条错误数据流删除,为保证数据流图的正确性,应补充三条数据流,请给出所补充数据流的起点和终点。(起点和终点请采用数据流图1-1中的符号或名称)
本题解析:
某集团公司拥有多个大型连锁商场,公司需要构建一个数据库系统便于管理其业务运作活动。
【需求分析结果】
1. 商场需要记录的信息包括商场编号(商场编号不重复)、商场名称、地址和联系电话。某商场信息如表1-1所示。
2. 每个商场包含不同的部门,部门需要记录的信息包括部门编号(不同商场的部门编号不同)、部门名称、位置分布和联系电话。某商场的部门信息如表1-2所示。
3. 每个部门雇用了多名员工处理日常事务,每名员工只能属于一个部门(新进员工在培训期不隶属于任何部门)。员工需要记录的信息包括员工编号、姓名、岗位、电话号码和工资。员工信息如表1-3所示。
4. 每个部门的员工中有一个是经理,每个经理只能管理一个部门。系统要记录每个经理的任职时间。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下:
【关系模式设计】
商场(商场编号,商场名称,地址,联系电话)
部门(部门编号,部门名称,位置分布,联系电话,(a) )
员工(员工编号,姓名,岗位,电话号码,工资,(b) )
经理( (c),任职时间)
【问题1】
根据问题描述,补充四个联系,完善图1-1的实体联系图。
【问题2】
根据实体联系图,将关系模式中的空(a)~(c)补充完整,并分别给出部门、员工和经理关系模式的主键和外键。
【问题3】
为了使商场有紧急事务时能联系到轮休的员工,要求每位员工必须且只能登记一位紧急联系人的姓名和联系电话(假设不同员工可以登记相同的紧急联系人)。中还需添加的实体是(d),该实体与图1-1中的员工关系存在(e)联系。给出该实体的关系模式。
本题解析:
某停车场有多个入口和出口,车辆进入时从入口处由系统查询可用的停车位,从出口驶出时系统将其刚使用的车位标记为空车位。
根据上述描述,在入口处的伪代码程序为:
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
本题解析:
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)属性的值域,以满足这类客户在宾馆预订机票的需求。
本题解析:
试卷分类:高级系统规划与管理师
练习次数:82次
试卷分类:中级系统集成项目管理工程师
练习次数:94次
试卷分类:中级软件设计师
练习次数:99次
试卷分类:中级网络工程师
练习次数:108次
试卷分类:初级网络管理员
练习次数:111次
试卷分类:中级数据库系统工程师
练习次数:101次
试卷分类:中级软件评测师
练习次数:89次
试卷分类:中级信息安全工程师
练习次数:84次
试卷分类:中级信息安全工程师
练习次数:82次
试卷分类:中级软件设计师
练习次数:86次