中级数据库系统工程师下午试题-16
(总分75,考试时间90分钟)
试题一
阅读以下说明和图,根据要求回答问题。
[说明]
某电子商务系统采用以数据库为中心的集成方式改进购物车的功能,详细需求如下:
(1)加入购物车。顾客浏览商品,单击加入购物车,根据商品标识从商品表中读取商品信息,并更新购物车表。
(2)浏览购物车。顾客提交浏览购物车请求后,显示出购物车表中的商品信息。
(3)提交订单。顾客单击提交订单请求,后台计算购物车表中商品的总价(包括运费)加入订单表,将购物车表中的商品状态改为待付款,显示订单详情。若商家改变价格,则刷新后可看到更改后的价格。
(4)改变价格。商家查看订购自家商品的订单信息,根据特殊优惠条件修改价格,更新订单表中的商品价格。
(5)付款。顾客单击付款后,系统先根据顾客表中关联的支付账户,将转账请求(验证码、价格等)提交给支付系统(如信用卡系统)进行转账;然后根据转账结果返回支付状态并更改购物车表中商品的状态。
(6)物流跟踪。商家发货后,需按订单标识添加物流标识(物流公司、运单号);然后可根据顾客或商家的标识以及订单标识,查询订单表中的物流标识,并从相应物流系统查询物流信息。
(7)生成报表。根据管理员和商家设置的报表选项,从订单表、商品表以及商品分类表中读取数据,调用第三方服务Crystal Reports生成相关报表。
(8)维护信息。管理员维护(增、删、改、查)顾客表、商品分类表和商品表中的信息。
现采用结构化方法实现上述需求,在系统分析阶段得到如图1所示的顶层数据流图和如图2所示的0层数据流图。
图1 顶层数据流图
图2 0层数据流图
1. 使用说明中的词语,给出图1中的实体E1~E4的名称。
2. 使用说明中的词语,给出图2中的数据存储D1~D4的名称。
3. 图2中缺失了数据流,请用说明或图2中的词语,给出其起点和终点。
4. 根据说明,给出数据流“转账请求”、“顾客订单物流查询请求”和“商家订单物流查询请求”的各组成数据项。
试题二
阅读下列说明,根据要求回答问题。
[说明]
天津市某银行信息系统的数据库部分关系模式如下所示。
客户(客户号,姓名,性别,地址,邮编,电话)
账户(账户号,客户号,开户支行号,余额)
支行(支行号,支行名称,城市,资产总额)
交易(交易号,账户号,业务金额,交易日期)
其中,业务金额为正值表示客户向账户存款,为负值表示取款。
1. 以下是创建账户关系的SQL语句,账户号唯一识别一个账户,客户号为客户关系的唯一标识,且不能为空。账户余额不能小于1.00元。请将空缺部分补充完整。
CREATE TABLE 账户(
账户号 CHAR(19) (a) ,
客户号 CHAR(10) (b) ,
开户支行号 CHAR(6) NOT NuLL,
余额 NUMBER(8,2) (c) ;
2. 现银行决策者希望查看在天津市各支行开户,且2009年9月使用了银行存取服务的所有客户的详细信息,请补充完整相应的查询语句(交易日期形式为'2000-01-01')。
SELECT DISTINCT 客户.*
FROM 客户,账户,支行,交易
WHERE 客户.客户号=账户.客户号 AND
账户.开户支行号=支行.支行号 AND
(d) AND
交易.账户号=账户.账户号 AND
(e) ;
上述查询优化后的语句如下,请补充完整。
SELECT DISTINCT 客户.*
FROM 客户,账户, (f) AS 新支行, (g) AS 新交易
WHERE 客户.客户号=账户.客户号 AND
账户.开户支行号=新支行.支行号 AND
新交易.账户号=账户.账户号;
(2)假定一名客户可以申请多个账户,给出在该银行当前所有账户余额之和超过百万的客户信息,并按客户号降序排列。
SELECT *
FROM 客户
WHERE (h)
(SELECT 客户号 FROM 账户 GROUP BY 客户号 (i) )
ORDER BY (j) ;
3. 为账户关系增加一个属性“账户标记”,默认值为0,取值类型为整数,并将当前账户关系中所有记录的“账户标记”属性值修改为0。请补充相关的SQL语句。
ALTER TABLE 账户 (k) DEFAULT 0;
UPDATE 账户 (l) ;
(2)对于每笔金额超过10万元的交易,其对应账户标记属性值加1,给出触发器实现的方案。
CREATE TRIGGER交易_触发器 (m) ON交易
REFERENCING NEW ROW AS 新交易
FOR EACH ROW
WHEN (n)
BEGIN ATOMIC
UPDATE 账户 SET 账户标记=账户标记+1
WHERE (o) ;
COMMIT WORK;
END;
试题三
阅读以下说明,根据要求回答问题。
[说明]
某快递公司为了方便管理公司物品运送的各项业务活动,需要构建一个物品运送信息管理系统。
[需求分析结果]
(1)快递公司有多个分公司,分公司信息包括分公司编号、名称、经理、办公电话和地址。每个分公司可以有多名员工处理分公司的日常业务,每名员工只能在一个分公司工作。每个分公司由一名经理负责管理分公司的业务和员工,系统需要记录每个经理的任职时间。
(2)员工信息包括员工号、姓名、岗位、薪资、手机号和家庭地址。其中,员工号唯一标识员工信息的每一个元组。岗位包括经理、调度员、业务员等。业务员根据客户提交的快件申请单进行快件受理事宜,一个业务员可以受理多个客户的快件申请,一个快件申请只能由一个业务员受理。调度员根据已受理的申请单安排快件的承运事宜,例如:执行承运的业务员、运达时间等。一个业务员可以执行调度员安排的多个快件的承运业务。
(3)客户信息包括客户号、单位名称、通信地址、所属省份、联系人、、银行账号。其中,客户号唯一标识客户信息的每一个元组。当客户要寄快件时,先要提交快件申请
单,申请号由系统自动生成。快件申请信息包括申请号、客户号、发件人、发件人电话、快件名称、运费、发出地、收件人、收件人电话、收件地址。其中,一个申请号对应唯一的一个快件申请,一个客户可以提交多个快件申请,但一个快件申请由唯一的一个客户提交。
[概念模型设计]
根据需求阶段收集的信息,设计的实体联系图如图1所示。
图1 某物品运送信息管理系统实体练习图(不完整)
[关系模式设计]
分公司(分公司编号,名称,经理,办公电话,地址)
员工(员工号,姓名, (a) ,岗位,薪资,手机号,家庭地址)
客户(客户号,单位名称,通信地址,所属省份,联系人,,银行账号)
申请单( (b) ,发件人,发件人电话,发件人地址,快件名称,运费,收件人,收件人电话,收件地址,受理标志,业务员)
安排承运( (c) ,实际完成时间,调度员)
1. 根据问题描述,补充5个联系,完善图5。7的实体联系图。联系名可用联系1、联系2、联系3、联系4和联系5代替,联系的类型分为“1:1”、“1:n”和“m:n”(或“1:1”、“1:*”和“*:*”)。
2. (1)根据实体联系图,将关系模式中的空(a)~(c)补充完整。
(2)给出员工、申请单和安排承运关系模式的主键和外键。
3. (1)客户关系的通信地址可以进一步分为邮编、省、市、街道,那么该属性是否属于简单属性,为什么?请用100字以内的文字说明。
行程卡查不到行程数据怎么回事 (2)假设分公司需要增设一个经理的职位,那么分公司与经理之间的联系类型应修改为 (d) ,分公司的主键应修改为 (e) 。
试题四
阅读下列说明,根据要求回答问题。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论