软题库 移动APP 扫码下载APP 随时随地移动学习 培训课程
当前位置:信管网 >> 在线考试中心 >> 信息系统项目管理师题库 >> 试题查看
试卷名称 2010年上半年数据库系统工程师考试下午真题试题(案例分析)
考试中心《2010年上半年数据库系统工程师考试下午真题试题(案例分析)》在线考试
试卷年份2010年上半年
试题题型【分析简答题】
试题内容

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】 
天津市某银行信息系统的数据库部分关系模式如下所示:
客户(客户号,姓名,性别,地址,邮编,电话)
账户(账户号,客户号,开户支行号,余额)
支行(支行号,支行名称,城市,资产总额)
交易(交易号,账户号,业务金额,交易日期)
其中,业务金额为正值表示客户向账户存款;为负值表示取款。
【问题1】
以下是创建账户关系的SQL语句,账户号唯一识别一个账户,客户号为客户关系的唯一标识,且不能为空。账户余额不能小于1.00元。请将空缺部分补充完整。 
CREATE TABLE 账户(
 账户号  CHAR(19)     (a)      ,  
客户号  CHAR(10)     (b)      ,  
开户支行号  CHAR(6)    NOT NULL ,
余额  NUMBER(8,2)   (c)  );  
【问题2】
(1)现银行决策者希望查看在天津市各支行开户且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】
(1)为账户关系增加一个属性“账户标记” ,缺省值为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 ;


相关试题

推荐文章
合作网站内容