系统概述:
某银行需要开发ATM存取款机系统实现如下功能:
1) 开户(到银行填写开户申请单,卡号自动生成)
2) 取款
3) 存款
4) 查询余额
5) 转账(如使用一卡通代缴手机话费、个人股票交易等)
系统角色
数据库设计员、数据库程序员、数据库维护员
题目要求:
一、根据银行ATM取款机业务处理流程设计数据库(12分)
(1)绘制E-R图(4分)
(2)绘制数据库模型图(4分)
(3)使用第三范式规范数据库表结构(4分)
二、建库、建表、建约束(15分)
1) 使用SQL语言创建数据库BankDB(4分)
数据库保存在D:\bank目录下,文件增长率为15%
2) 使用SQL语言创建表(6分)
存款类型表
客户信息表
银行卡信息表
3) 使用SQL语言在每个表上添加约束(5分)
主键约束、外键约束、CHECK约束、默认约束、非空约束
三、插入测试数据(5分)
使用SQL语言向每个表中插入至少5条记录
四、模拟常规业务(14分)
1) 修改客户密码(2分)
2) 办理银行卡挂失(2分)
3) 统计银行资金流通余额和盈利结算(2分)
银行资金流通余额=总存入金额-总支取金额
盈利结算=总支取金额 * 0.008 – 总存入金额 * 0.003
4) 查询本周开户的卡号,显示该卡相关信息(2分)
5) 查询本月交易金额最高的卡号(2分)
6) 查询挂失账号的客户信息(2分)
7) 催款提醒业务(2分)
五、利用视图实现数据查询(13分)
1) 为客户提供以下3个视图供其查询该客户数据(6分)
客户基本信息:vw_userInfo
银行卡信息:vw_cardInfo
银行卡交易信息:vw_tradeInfo
2) 提供友好界面,要求各列名称为中文描述(2分)
3) 调用创建的视图获得查询结果(5分)
六、用存储过程实现业务处理(21分)
1) 产生随机卡号(3分)
2) 完成开户业务(3分)
3) 完成取款或存款业务(3分)
4) 根据卡号打印对账单(3分)
5) 根据指定显示的页数和每页的记录数分页显示数据(3分)
6) 查询、统计指定时间段内没有发生交易的账户信息(3分)
7) 统计指定时间段内某地区客户在银行卡交易量和交易额。如果不指定地区,则查询所有客户的交易量和交易额(3分)
七、实现较复杂的数据更新(10分)
创建存储过程、调用存储过程
八、建数据库访问账户设置权限(10分)
使用SQL语句添加系统维护帐号sysAdmin,并授权。