项目需求:
使用Java MySQL完车
用例1:数据库设计
1)数据库设计
2)绘制E-R图
3)绘制数据库模型图
4)规范数据库结构设计
用例2:创建数据库及登录用户并授权
1)创建数据库
#用例:2:创建数据库,授权所有 |
2)创建登录用户授权
#创建用户 CREATE DATABASE `Bank`; |
用例3:创建表、约束
1)创建表
#用例3:创建客户信息表添加外键 #创建存款类型表
#创建交易信息表 |
2)创建外键约束
#添加外键约束 主表在后面 从表在前面 #存款类型主表 与 银行卡信息从表 的外键关系 #银行卡信息主表 与 交易信息表从表 的外键关系 |
用例4:插入测试数据
这里给大家数据,直接导入就好了!
#用例4:插入测试数据 #客户信息 #银行卡信息 SELECT * FROM userInfo; /*--------------交易信息表插入交易记录--------------------------*/ |
用例5:模拟常规业务
1)修改客户密码
#修改客户密码 #张三(卡号为1010 3576 1234 5678)修改银行卡密码为123321 #李四(卡号为1010 3576 1212 1134)修改银行卡密码为123456 UPDATE `cardinfo` SET `password`='123321' WHERE `cardID`='1010357612345678'; UPDATE `cardinfo` SET `password`='123456' WHERE `cardID`='1010357612121134'; |
2)办理银行卡挂失
#办理银行卡挂失 SELECT `cardID`AS 卡号,`curID`AS 货币,`savingName`AS 储蓄种类,`openDate`AS 开户日期,`openMoney`AS 开户金额,`balance`AS 余额,`password`AS 密码, |
3)统计银行总存入金额和总支取金额
SELECT `tradeType` AS 流动方向,SUM(`tradeMoney`) AS 总金额 FROM `tradeinfo` GROUP BY `tradeType`; |
4)查询本周开户信息
#查询本周开户信息 SELECT C.`cardID`AS 卡号,U.`customerName` AS 姓名,C.`curID`AS 货币,D.`savingName`AS 存款类型,C.`openDate`AS 开户日期,C.`openMoney`AS 开户金额,C.`balance`AS 余额,C.`IsReportLoss`AS 账户状态 FROM `cardinfo` C INNER JOIN `userinfo` U ON (C.`customerID` = U.`customerID`) INNER JOIN `deposit` D ON (C.`savingID` = D.`savingID` ) WHERE WEEK(NOW()) = WEEK(`openDate`); |
5)查询本月交易金额最高的卡号
#查询本月交易金额最高的卡号 |
6)查询挂失客户
#查询挂失客户信息 SELECT `customerName` AS 客户姓名,`telephone` AS 联系电话 FROM `userinfo` WHERE `customerID` IN(SELECT `customerID` FROM `cardinfo` WHERE `IsReportLoss`=1); |
7)催款提醒业务
#催款提醒业务 SELECT `customerName` AS 客户姓名,`telephone` AS 联系电话,`balance` AS 存款金额 FROM `userinfo` INNER JOIN `cardinfo` ON `cardinfo`.`customerID`=`userinfo`.`customerID` WHERE `balance`<200; |
用例6:创建、使用客户有好信息视图
#用例6:创建,使用客户有好信息视图 SELECT * FROM view_userInfo;
SELECT * FROM view_cardInfo;
#view_transInfo:输出银行卡的交易记录 SELECT * FROM view_transInfo; |
用例7:使用事务完成转账
#用例7:使用事务完成转账 /*--------检查测试数据是否正确---------*/ |