好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

银行ATM存取款机系统设计与实现.doc

50页
  • 卖家[上传人]:m****
  • 文档编号:476889750
  • 上传时间:2023-11-21
  • 文档格式:DOC
  • 文档大小:338KB
  • / 50 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 《数据库技术与开发》项目实训设计报告 项目名称:《银行ATM存取款机系统设计与实现》姓 名:范涛 学 号:1267159221专 业:软件工程12-2 指导教师:刘立新 完成日期:2014-11-20目录项目名称:《银行ATM存取款机系统设计与实现》 1《银行ATM存取款机系统设计与实现》 3第一章 :项目背景 31、项目任务 32、项目技能目标 33、需求概述 34、开发环境 3第二章 :创建数据库 41.创建数据库 42.创建各个数据表及相关的约束 53.添加外键约束和生成数据库 7第三章 :创建触发器和插入测试数据 81.创建触发器 82.插入数据表的测试数据 12第四章:模拟常规业务 151.修改客户密码 162.办理银行卡挂失 163.统计银行资金流通余额和盈利结算 174.查询本周开户信息 185.查询本月单次交易金额最高的卡号和总交易金额最高的卡号 196.查询挂失客户 207.催款提醒业务 20第五章:创建、使用视图 201.输出银行客户记录视图VW_userInfo 212.输出银行卡记录视图VW_CardInfo 223.输出银行卡交易记录视图VW_TransInfo 224.根据客户登录名查询该客户账户信息VW_OneUserInfo 23第六章:存储过程实现业务处理 231.完成存款或取款业务 242.产生随机卡号 283.完成开户业务 294.分页显示查询交易数据 335.打印客户对账单 346.统计未发生交易的账户 377.统计银行卡交易量和交易额 40 第七章:利用事务实现转账 42附录 48《银行ATM存取款机系统设计与实现》第一章 :项目背景1、项目任务创建数据库、创建表、创建约束使用触发器和插入测试数据模拟常规业务、创建视图使用存储过程实现业务处理利用事务实现较复杂的数据更新2、项目技能目标Ø 使用PowerDesigner完成数据库概念模型和数据库物理模型设计。

      Ø 使用T-SQL语句创建数据库、表和各种约束Ø 使用T-SQL语句编程实现常见业务Ø 使用触发器实现多表之间的级联更新Ø 使用事务和存储过程封装业务逻辑Ø 使用视图简化复杂的数据查询Ø 使用游标技术实现结果集的行集操作3、需求概述某银行是一家民办的小型银行企业,现有十多万客户,公司将为该银行开发一套ATM存取款机系统,对银行日常的存取款业务进行计算机管理,以便保证数据的安全性,提高工作效率要求根据银行存取款业务需求设计出符合第三范式的数据库结构,使用T-SQL语言创建数据库和表,并添加表约束,进行数据的增删改查,运用逻辑结构语句、事务、视图和存储过程,按照银行的业务需求,实现各项银行日常存款、取款和转账业务4、开发环境Ø 数据库:SQL SERVER 2008开发版Ø 数据库建模工具:PowerDesigner15第二章 :创建数据库1.创建数据库代码如下: create database bankdbon primary(name=N'bankdb', 'G:\数据库课设\bankdb.mdf', size=5mb, maxsize=30mb, )log on(name=N'bankdb_log', 'G:\数据库课设\bankdb_log.ldf', size=2mb, maxsize=30mb, )2.创建各个数据表及相关的约束(1).创建银行业务类型表create table bankbusinesstype(bbt_id int identity(1,1) primary key,bbt_name char(20) not null,bbt_comment varchar(100));(2).创建用户信息表create table bankcustomer( bc_id int identity(1,1) primary key, bc_name char(20) not null, bc_icno char(18) not null check(left(bc_icno,17) like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' and (right(bc_icno,1) like '[0-9]' or right(bc_icno,1) like 'x')), bc_tel varchar(20) not null check((bc_tel like '[0-9][0-9][0-9][0-9]_[0-9][0-9][0-9][0-9][0-9][0-9][0-9]') or (bc_tel like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')), bc_addr varchar(100));(3).创建银行卡信息create table bankcard(bc_no char(19) not null, bc_pwd char(6) not null, bc_currency char(5) not null, bc_bbtid int not null, bc_opendate date not null, bc_openamount money not null, bc_regloss char(2), bc_bcid int not null, bc_existbalance money not null)alter table bankcardadd constraint sp_bcno1 primary key(bc_no)alter table bankcardadd constraint sp_bcno2 check(bc_no like '1010 3576 [0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9]')alter table bankcardadd constraint sp_bcopenamount check(bc_openamount>=1)alter table bankcardadd constraint sp_bcpwd default('888888') for bc_pwdalter table bankcardadd constraint sp_bccurrency default('RMB') for bc_currencyalter table bankcardadd constraint sp_bcopendate default(getdate()) for bc_opendatealter table bankcardadd constraint sp_bcregloss default('否') for bc_regloss(4).创建交易信息表create table bankdealinfo(bd_no int identity(1,1), bd_bcno char(19) not null, bd_dealdate date not null, bd_dealacount money not null, bd_dealtype char(10) not null, bd_dealcomment char(100))alter table bankdealinfoadd constraint sp_bdno primary key(bd_no)alter table bankdealinfoadd constraint sp_bddealdate default(getdate()) for bd_dealdatealter table bankdealinfoadd constraint sp_bddealtype check(bd_dealtype='存入' or bd_dealtype='支取')3.添加外键约束和生成数据库代码如下:use bankdb goalter table bankcardadd constraint fk_bc_bbt foreign key(bc_bbtid) references bankbusinesstype(bbt_id);alter table bankcardadd constraint fk_bc_bc foreign key(bc_bcid) references BankCustomer(bc_id);alter table bankDealInfoadd constraint fk_bdi_bc foreign key(bd_bcno) references BankCard(bc_no);第三章 :创建触发器和插入测试数据1.创建级联触发器(1).创建Insert触发器:if (object_id('tr_InsertdealInfo','tr') is not null) drop trigger tr_InsertdealInfogocreate trigger tr_InsertdealInfoon bankdealinfofor insertas declare @type char(10),@sum money,@bdbcno char(19); --创建一个游标,指向inserted表 declare cursor_bankdealinfo cursor for select bd_dealtype,bd_dealacount,bd_bcno from inserted --打开游标 open cursor_BankDealinfo --取游标中各个字段的值复制给各个变量 fetch next from cursor_BankDealinfo into @type,@sum,@BDBCNo while @@fetch_status=0 begin --判断交易记录里是存入还是支取,及时更新银行卡表的存款余额 if(rtrim(ltrim(@type))='存入') update bankcard set BC_ExistBalance=BC_ExistBalance+@sum where BC_No=@BDBCNo; if(rtrim(ltrim(@type))='支取') update bankcard set BC_ExistBalance=BC_ExistBalance-@sum where BC_No=@BDBCNo; fetch next from cursor_BankDealinfo into @type,@sum,@BDBCNo end close cursor_BankDealinf。

      点击阅读更多内容
      相关文档
      安徽省安全员《A证(企业负责人)》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪业务操作》预测试卷三.docx 安徽省安全员《A证(企业负责人)》模拟试卷一.docx 2026年房地产经纪人《房地产交易制度政策》模拟试卷四.docx 安徽省安全员《B证(项目负责人)》冲刺试卷二.docx 2026年房地产经纪人《房地产经纪专业基础》预测试卷四.docx 2026年房地产经纪人《房地产经纪业务操作》考前点题卷一.docx 2023年通信工程师《通信专业实务(传输与接入-无线)》试题真题及答案.docx 安徽省安全员《A证(企业负责人)》试题精选.docx 2026年房地产经纪人《房地产经纪专业基础》预测试卷二.docx 2026年房地产经纪人《房地产经纪业务操作》考前点题卷二.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷三.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪专业基础》考前点题卷二.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷五.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷四.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷一.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷四.docx 安徽省安全员《B证(项目负责人)》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪业务操作》模拟试卷二.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.