ATM取款机系统数据库设计与实现
需积分: 18 93 浏览量
更新于2024-08-23
收藏 2.3MB PPT 举报
"本资源是关于银行ATM(取款机)系统第四阶段标准代码的演示,涵盖了数据库设计和SQL操作。主要涉及了创建索引、视图以及接口和多态性在Java中的应用。"
在银行ATM系统中,数据库设计是至关重要的,它确保了系统的稳定性和数据的完整性。在描述中提到了三个关键的表:`userInfo`(用户信息表)、`cardInfo`(银行卡信息表)和`transInfo`(交易信息表)。
1. 用户信息表(userInfo)包含了顾客的基本信息,如`customerID`(顾客编号,自动编号主键)、`customerName`(开户名,必填)、`PID`(身份证号,唯一约束)、`telephone`(联系电话,格式受限)和`address`(居住地址,可选输入)。
2. 银行卡信息表(cardInfo)则存储了银行卡的详细资料,包括`cardID`(卡号,主键,有特定格式)、`curType`(货币种类,默认RMB)、`savingType`(存款类型,如活期、定活两便、定期)、`openDate`(开户日期,默认系统当前日期)、`openMoney`(开户金额,最低1元)、`balance`(余额,最低1元)、`pass`(密码,6位数字,默认6个8)、`IsReportLoss`(是否挂失,是/否值,默认否)和`customerID`(顾客编号,外键,表示对应顾客)。
3. 交易信息表(transInfo)记录了所有交易活动,包括`transDate`(交易日期,默认系统当前日期)、`cardID`(卡号,外键,可重复索引)、`transType`(交易类型,如存入、支取)、`transMoney`(交易金额,必须大于0)和`remark`(备注,可选输入)。
在SQL操作方面,创建了非聚簇索引`index_cardID`在`transInfo`表的`cardID`字段上,优化了按卡号查询的效率。同时,创建了一个视图`view_userInfo`,将英文字段名转换为中文,便于使用。这展示了数据库设计中的规范化和用户体验考虑。
此外,提到了Java编程语言中接口和多态的概念。Java通过接口支持多重继承,允许一个对象在运行时动态地转化为需要的对象类型,只要该对象实现了相应的接口或扩展了特定的父类。接口提供了多态性,使得我们可以根据不同的需求给对象赋予不同的行为。
这个ATM系统设计不仅关注了数据库的实体关系模型和数据完整性,还考虑了查询性能和用户界面的友好性,并结合了面向对象编程的原则,以实现一个高效、易用的银行自助服务系统。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-03-13 上传
2007-07-30 上传
点击了解资源详情
点击了解资源详情
2014-05-28 上传
2012-08-07 上传
琳琅破碎
- 粉丝: 19
- 资源: 2万+
最新资源
- Angular程序高效加载与展示海量Excel数据技巧
- Argos客户端开发流程及Vue配置指南
- 基于源码的PHP Webshell审查工具介绍
- Mina任务部署Rpush教程与实践指南
- 密歇根大学主题新标签页壁纸与多功能扩展
- Golang编程入门:基础代码学习教程
- Aplysia吸引子分析MATLAB代码套件解读
- 程序性竞争问题解决实践指南
- lyra: Rust语言实现的特征提取POC功能
- Chrome扩展:NBA全明星新标签壁纸
- 探索通用Lisp用户空间文件系统clufs_0.7
- dheap: Haxe实现的高效D-ary堆算法
- 利用BladeRF实现简易VNA频率响应分析工具
- 深度解析Amazon SQS在C#中的应用实践
- 正义联盟计划管理系统:udemy-heroes-demo-09
- JavaScript语法jsonpointer替代实现介绍