这是一家美资公司的笔试题目的一部分。 我完成了前面几个问题, 但是最后一个问题不知道怎么作答。虽然笔试已经结束了,但是还是想弄懂这

sojan 2003-03-05 03:48:26
这是一家美资公司的笔试题目的一部分。 我完成了前面几个问题, 但是最后一个问题不知道怎么作答。虽然笔试已经结束了,但是还是想弄懂这个问题。 请高手大打出手!

题目:
**************************************************************************
这是一个简单的银行用户数据库, 由三个表组成。

客户(姓名, 身份证, 年龄, 住址, 电话)
存款帐户( 帐号, 余额 )
存款帐分录( 交易日期, 金额 )
请用熟悉的语言生成以上的表格。

请用一句SQL,完成如下功能:
张三的所有帐号

李四是一个新开户的客户, 添加所涉及的数据库表有哪些?

列出客户(李四)在2003/1/1 到2003/1/24 期间发生的交易明细。

需要控制每一个存款帐户一天可以取款的限额为2000.00, 如何修改表的定义?
用PBENDO CODE(好象是pbendo code ) 或者自然语言写出一笔提款发生时的程序处理流程。
**************************************************************************
因为某些缘故,其中的一些数据于参数与笔试的时候不一样。
请高手不吝赐教!
...全文
82 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
StevenWSF 2003-03-06
  • 打赏
  • 举报
回复
上面的都很好实现,我觉得下面的满有意思的:
用PBENDO CODE(好象是pbendo code ) 或者自然语言写出一笔提款发生时的程序处理流程。
写个流程。
交易开始
输入帐号
显示相关信息
输入提款金额
判断是否大于金额总数
大于
结素交易或重新输入
小于
正常交易
登记存款帐分录
结素交易或继续交易

交易结素
太极狮头 2003-03-06
  • 打赏
  • 举报
回复
可以定一个约束条件,用约束条件来判断 存款帐分录( 交易日期, 金额 )在一日内的金额总和是否合法。
baiyaj 2003-03-06
  • 打赏
  • 举报
回复
强烈关注,我要换工作了!
shihb 2003-03-06
  • 打赏
  • 举报
回复
楼上说得对,当然应该在前台的事件处理中控制。
Lulq21cn 2003-03-06
  • 打赏
  • 举报
回复
需要控制每一个存款帐户一天可以取款的限额为2000.00, 如何修改表的定义?
这应该在前台程序中实现的吧,不是在后台数据库中定义的。
sojan 2003-03-05
  • 打赏
  • 举报
回复
to: hch9230(走路的人)
恩, 是一天之内只能取2000.00大洋。 但是, 比如他先存进了500大洋, 然后立马取走2500.00大洋, 是合法的。
to: flashroom(找到啦)
我是应聘软件工程师的。 题目一共有三类, JAVA, C++, Database。
java c++ 任选其一, 因为我做过数据库的API,所以我选c++, database,是因为这个公司主要为中国银行, 什么什么银行做MIS的, 所以要考一些金融方面的数据库相关知识。
to:takecare(大厅)
那就露一手吧!
takecare 2003-03-05
  • 打赏
  • 举报
回复
it's very easy!
flashroom 2003-03-05
  • 打赏
  • 举报
回复
你应该不是应聘程序员吧。
和程序没有关系,SQL OK 就 OK !
hch9230 2003-03-05
  • 打赏
  • 举报
回复
UP!

补充:
1。字段date的类型用datetime类型。
2。select customer.ID, customer.name, account.accountID, subaccount.date, subaccount.money from customer, account, subaccount where customer.name = '李四' and customer.ID = account.customerID and account.accountID = subaccount.accountID
and subaccount.date between '2003-1-1' and '2003-1-24'
3。是“一天”可以取款的限额还是“一次”可以取款的限额?? 假如是“一次”的话,就可以修改表字段定义了。
freejacky 2003-03-05
  • 打赏
  • 举报
回复
只能说大概差不多
不一定完全没问题
其实,我是新手

放分吧!
:)
sojan 2003-03-05
  • 打赏
  • 举报
回复
高手!
freejacky 2003-03-05
  • 打赏
  • 举报
回复
create table customer (
name varchar(30) not null,
ID varchar(30) not null,
age number,
address varchar(200) not null,
phone varchar(30) not null)

create table account (
customerID varchar (30) not null,
accountID varchar(30) not null,
money number not null)

create table subaccount (
accountID varchar(30) not null,
date varchar(30) not null,
money number not null)
=============================================================
select accountID from account, customer where account.customerID = customer.ID and customer.name = '张三'
=============================================================
insert into customer (name, ID, age, address, phone) values ('李四', '002', 22, 'aldjfaljdf', '123456')
insert into account (customerID, accountID, money) values ('002', '000002', 1000)
=============================================================
select customer.ID, customer.name, account.accountID, subaccount.date, subaccount.money from customer, account, subaccount where customer.name = '李四' and customer.ID = account.customerID and account.accountID = subaccount.accountID
=============================================================
如何控制的问题,只要在提款前先把当天历史记录以及帐户余额都取出来,然后判断后再处理就OK了
yang_y_g 2003-03-05
  • 打赏
  • 举报
回复
gz

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧