没有合适的资源?快使用搜索试试~ 我知道了~
数据库课程设计实验报告银行账户管理系统.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 28 浏览量
2023-06-12
20:41:41
上传
评论
收藏 1.5MB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/87899595/0001-74e81ac194509deba7e7fc62e37e7934_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
120页
数据库课程设计实验报告银行账户管理系统.pdf
资源推荐
资源详情
资源评论
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/release/download_crawler_static/87899595/bg1.jpg)
ATM 功能:
登录
ATM 机依据用户卡号和密码在系统数据库中查询用户信息,在信息匹配的
情况下进入用户操作界面。
存款
ATM 机依据用户存入金额,通过程序修改数据库中用户的金额信息。
取款
ATM 机依据取出金额, 通过对比本机余额和数据库中用户余额,若金额合
法则通过程序修改数据库中用户的金额信息,否则弹出错误信息。
用户管理:
登录
依据用户账号和密码由管理员或 ATM 机在系统数据库中查询用户信息,在
信息匹配的情况下用户获得用户管理权限。
查询个人信息
打印数据库中记录的用户个人信息。
修改个人信息
收集用户新信息,由管理员操作,修改数据库中用户拥有修改权限的相应
数据。
查询近期操作
依据用户提供所要查询时间范围,由管理员或 ATM 机通过程序查询系统数
据库中用户的操作记录。
四.详细设计
1.功能函数的调用关系图
public static void mian(String[] args){
AdminLoginJFrame() AdminDao
管理员登录界面
ChaxunKaInfo(String userId)
KaMimaXiuGai(String cardId)
UserLoginJFrame()
MainFrame() 用户登录界面 KaCaoZuo(String times,String cardId)
主界面
ChaXunCaoZuo(Users user)
UserGuanLi(String ATMId,String
cardId)
ATMLoginJFrame() actionPerformed(ActionEvent e)
ATM 机登录界面
UserChaXun(String cardId)
}
![](https://csdnimg.cn/release/download_crawler_static/87899595/bg2.jpg)
用户类
卡查询
操作
卡密修改
操作
卡操作记
录
查询近期
操作
用户管理
登录方法
用户信息
查询
2.重点设计及编码
数据库设计:
create database account
use account
![](https://csdnimg.cn/release/download_crawler_static/87899595/bg3.jpg)
create table users
(
userId varchar(10) not null, /*用户账号,主键*/
userName varchar(10) not null, /*用户名*/
userPassword varchar(10) not null, /*密码*/
idNo varchar(20) not null, /*身份证号码,唯一*/
userMoney numeric(10,2) default 0, /*总金额,不能小于零*/
userStatus varchar(4) check (userStatus='使用' or userStatus='冻结') default '使用',
/*用户状态(使用,冻结),默认是使用中*/
userAddress varchar(30) not null, /*用户地址*/
startTime DateTime, /*开户时间,应该是开户时的系统时间,不应该人为输入*/
primary key(userId), /*设置主键*/
)
--用户的状态一旦变成冻结状态,那么卡也应该不能使用
create trigger userstatus_update
on users
after update
as
if update(userStatus)
begin
if (select userStatus from inserted) = '冻结'
update card set cardStatus = '冻结' where userId = (select userId from deleted)
if (select userStatus from inserted) = '使用'
update card set cardStatus = '使用' where userId = (select userId from deleted)
end
create table card
(
cardId varchar(20) primary key, /*卡号,主键*/
userId varchar(10) not null, /*用户账号,外键,参照users表的userId*/
cardPassword varchar(10) not null, /*卡密码*/
cardStatus varchar(5) check (cardStatus in ('使用','冻结','挂失')) default '使用',
/*卡状态(使用,冻结,挂失),默认是使用*/
--cardMoney numeric(10,2) check(cardMoney >=0),
foreign key (userId) references users(userId)
on delete cascade /*当删除用户帐号时,他的卡号会及联删除*/
![](https://csdnimg.cn/release/download_crawler_static/87899595/bg4.jpg)
)
--管理员表
create table admin
(
adminId varchar(10) not null primary key, /*操作员号码,主键*/
adminName varchar(10) not null, /*操作员名字*/
adminPassword varchar(20) not null, /*操作员密码*/
BankAddress varchar(20) not null /*操作员所在银行地址*/
)
insert into admin values('001','沈万三','123','工商银行长安分行')
--创建一个ATM表,至少应该含有编号以及ATM机里的总金额
create table ATM
(ATMId varchar(10) primary key, /*ATM机ID*/
ATMMoney numeric(20,2) check (ATMMoney >=0), /*ATM机里的总钱数,不允许用户的取款数大
于它的总钱数,所以它的总钱数不能小于*/
ATMAddress varchar(20) /*ATM机的地点*/
)
insert into ATM values('000', 10000, '长安区')
insert into ATM values('111', 50000, '长安区')
--用户ATM机存取款信息表
create table ATMOutIn
(
ATMId varchar(10), /*取款机号,外键,参照ATM表的ATMId*/
cardId varchar(20) not null, /*用户卡号,外键,参照card表的cardId*/
ATMTime DateTime, /*在ATM机存取款时间(应该是进行存取款时的系统时间*/
ATMCunQu numeric(10,2), /*ATM机存款金额*/
ATMSummary varchar(30), /*存取款摘要*/
balanceMoney numeric(10,2) default 0, /*经过操作后账号中的金额*/
foreign key(ATMId) references ATM(ATMId) on delete cascade,
foreign key(cardId) references card(cardId) on delete cascade
)
![](https://csdnimg.cn/release/download_crawler_static/87899595/bg5.jpg)
--创建一个触发器,当产生这一信息时,账号上的钱也会随之改动
create trigger ATMOutIn_insert
on ATMOutIn
after insert
as
declare @num_rows int
select @num_rows = @@rowcount
if @num_rows = 0 /*未插入成功*/
return
if @num_rows>0 /*数据插入成功*/
begin
update users set userMoney = userMoney + (select ATMCunQu from Inserted) where
userId in (select userId from card c,inserted i where c.cardId = i.cardId)
update ATM set ATMMoney = ATMMoney + (select ATMCunQu from Inserted) where ATMId in
(select ATMId from inserted) /*对应的atm机的总金额也会随之改变*/
declare @balanceMoney numeric(10,2) /*账号余额*/
select @balanceMoney = (select userMoney from users where userId in (select userId
from card c,inserted i where c.cardId = i.cardId))
update ATMOutIn set balanceMoney = (@balanceMoney) where cardId in (select cardId
from inserted) and atmtime in (select atmtime from inserted) /*完成了账号金额的修改,
再将新的金额插入到信息表中,就是剩余的总余额了(注意修改的只是一个账号此次的操作*/
end
--用户银行存取款信息信息表
create table BankOutIn
(
adminId varchar(10) not null, /*操作员号码,外键,参照操作员表的adminId*/
cardId varchar(20) not null, /*用户卡号,外键,参照用户信息表*/
BankTime DateTime, /*银行存款时间*/
BankCunQu numeric(10,2), /*银行存款*/
BankSummary varchar(30),
balanceMoney numeric(10,2) default 0, /*经过操作后账号中的金额*/
foreign key (adminId) references admin(adminId) on delete cascade,
foreign key (cardId) references card(cardId) on delete cascade
)
--创建一个触发器,当插入这条数据时会自动修改users表里的金额信息
剩余119页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
老帽爬新坡
- 粉丝: 83
- 资源: 2万+
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
C知道特权
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)