【数据库】说明天津市某银行信息系统的数据库部分关系模式如下所示: 客户(客户号,姓名,性别,地址,邮编,电话) 账户(账户号,客户号,开户支行号,余额) 支行(支行号,支行名称,城市,资产总额) 交易

试题二

阅读下列说明,回答问题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新交易
WHRE客户.客户号=账户.客户号AND
账户.开户支行号=新支行.支行号AND
新交易.账户号=账户.账户号
(2)假定一名客户可以申请多个账户,给出在该银行当前所有账户余额之和超过百万的客户信息并按客户号降序排列。
SELECT *
FROM 客户
WHERE (h)
( SELECT 客户号 FROM 账户 GROUP BY 客户号(i))
ORDER BY (i);

【问题3】

(1)为账户关系增加一个属性“账户标记”,缺省值为0,取值类型为整数;并将当前账户关系中所有记录的“账户标记”属性值修改为0.请补充相关SQL语句。
ALTER TABLE账户(k) DEFAULT 0;
UPDATE 账户(l);

答案

【问题1】
(a)PRIMARY KEY
(b)FOREIGN KEY(客户号) REFERENCES客户(客户号)
( c)CHECK(余额>=1.00)
【问题2】
(d)支行.城市=‘天津市’
(e)交易.交易日期 LIKE ‘2009-9-%’
(f)(SELECTFROM 支行 WHERE 城市=‘天津市’)
(g)(SELECT
FROM 交易 WHERE 交易日期 LIKE ‘2009-09-%’)
(h)客户号IN
【问题3】
(i)HAVING SUM(余额)>1000000.00
(j)客户号 DESC
(k)ADD 账户标记 INT
(l)SET 账户标记=0

  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三桥君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值