ATM取款系统数据库设计与转账存储过程
需积分: 9 105 浏览量
更新于2024-08-15
收藏 1.31MB PPT 举报
"第六阶段标准代码演示--ATM取款系统数据库SQL设计"
在这个资源中,主要涉及的是ATM取款系统的数据库设计以及一个用于转账的存储过程。ATM系统是银行自动化服务的重要组成部分,它提供了诸如开户、取款、存款、查询余额和转账等基本功能。数据库设计是实现这些功能的基础。
首先,数据库设计包括了两个关键的表:`userInfo`(用户信息表)和`cardInfo`(银行卡信息表)。`userInfo`表包含了顾客的基本信息,如`customerID`(顾客编号)、`customerName`(开户名)、`PID`(身份证号)、`telephone`(联系电话)和`address`(居住地址)。`cardInfo`表则存储了银行卡的详细信息,包括`cardID`(卡号)、`curType`(货币种类)、`savingType`(存款类型)、`openDate`(开户日期)、`openMoney`(开户金额)、`balance`(余额)、`pass`(密码)、`IsReportLoss`(是否挂失)以及`customerID`(顾客编号)。
接着,展示了转账存储过程`proc_transfer`。这个过程接收三个参数:`@card1`、`@card2`(两张银行卡号)和`@outmoney`(转账金额)。存储过程首先开启一个事务,然后分别记录两笔交易——从`@card1`卡中支取资金,到`@card2`卡中存入资金。如果在插入`transInfo`表时发生错误,`@errors`变量会累加`@@error`,在事务结束时检查是否有错误。如果有错误(即`@errors>0`),则回滚事务,提示转账失败;否则,提交事务,提示转账成功。
此外,还提到了Java编程语言中的接口和多态性。虽然Java不支持类的多重继承,但通过接口可以实现类似的功能。接口定义了一组方法,任何类都可以实现这些接口,从而实现多态性。这允许一个对象在运行时被转化为实现了所需接口的对象,增加了代码的灵活性和适应性。
在数据库设计中,确保数据完整性和一致性至关重要。例如,`customerID`和`PID`作为唯一标识符,有助于防止重复记录。同时,`balance`字段的限制确保账户余额始终大于或等于1元,避免了负余额的情况,这也是银行业务中常见的规则。
这个资源详细阐述了一个ATM取款系统数据库的关键组成部分,包括数据表结构、存储过程以及编程语言中的相关概念,为构建一个安全、有效的ATM系统提供了基础。
2011-07-27 上传
2009-07-29 上传
2012-05-01 上传
点击了解资源详情
2021-03-13 上传
点击了解资源详情
点击了解资源详情
2022-06-05 上传
5461 浏览量
无不散席
- 粉丝: 32
- 资源: 2万+
最新资源
- compose_plantuml:从docker-compose文件生成Plantuml图
- ML:机器学习实践
- appInforManagement:app信息管理系统
- 【地产资料】XX地产 直客业务组主要业务P22.zip
- Excel模板本年度与上年同期产值对比图表.zip
- 柔光:屏幕上的免费视频会议照明
- DellInspiron530_ArchLinuxPlasma_Install
- ProcessExplorer_v15.12_Chs_for_PE.rar
- parking-control-app:停车场管理系统停车控制系统APP端
- 周黑鸭财务造假估值分析报告-51页.rar
- 毕业设计&课设--毕业设计-学生毕业设计选题系统.zip
- ReCapProject
- ServiceNow-Utils:适用于ServiceNow的Chrome和Firefox浏览器扩展
- Excel模板销售清单-打印模板.zip
- Decision_theory_lab2
- martinmosegaard.github.io