ATM取款系统:数据库设计与用户信息表剖析
需积分: 9 30 浏览量
更新于2024-08-15
收藏 1.31MB PPT 举报
在"问题分析--ATM取款系统数据库SQL设计"中,讨论了针对某银行开发的ATM取款机系统的数据库设计,该系统包含用户信息表(userInfo)和银行卡信息表(cardInfo)以及交易信息表(transInfo)。以下是对这些表及其字段的详细分析:
1. 用户信息表(userInfo):
- customerID:自动编号,主键,用于唯一标识每个用户,从1开始。
- customerName:必填,开户名,存储用户的姓名。
- PID:身份证号,必填,长度限制为18位或15位,确保唯一性。
- telephone:必填,联系电话,格式要求明确,支持固定电话和手机号码。
- address:可选输入,用于记录用户的居住地址。
2. 银行卡信息表(cardInfo):
- cardID:必填,主键,遵循特定格式,如10103576xxxxxx,包含银行标识信息。
- curType:货币种类,必填,通常默认为人民币(RMB)。
- savingType:存款类型,活期、定活两便或定期,必填。
- openDate:开户日期,必填,设置为系统当前日期。
- openMoney:开户金额,必填,最低1元。
- balance:余额,必填,不得低于1元,保证账户状态正常。
- pass:密码,6位数字,开户时默认,不能为空。
- IsReportLoss:是否挂失,必填,是/否,初始默认为否。
- customerID:外键,与userInfo表关联,一个用户可有多张卡。
3. 交易信息表(transInfo):
- transDate:交易日期,必填,系统当前日期。
- cardID:必填,外键,卡号,可以设置为可重复索引。
- transType:交易类型,必填,包括存入和支取。
- transMoney:交易金额,必填,金额必须大于0。
- remark:可选输入,用于记录交易备注。
难点分析部分着重于数据库的ER图设计(实体关系图)、创建数据库(CREATE DATABASE bankDB,指定名称、文件路径、大小等参数)、创建表(如CREATE TABLE userInfo...)、添加约束(如UNIQUE、FOREIGN KEY约束)、以及建立表间的关系(通过外键定义不同表之间的连接)。
在整个数据库设计过程中,需要考虑数据完整性、一致性以及安全性,确保数据的准确性和用户操作的合法性。此外,还要考虑到数据库的增长率,如15%的增长,这意味着需要定期进行数据库扩展和优化。通过合理的数据库设计,可以提高系统的性能和用户体验,满足ATM取款机系统的各项功能需求。
2009-07-29 上传
2011-07-27 上传
2012-05-01 上传
点击了解资源详情
2022-07-04 上传
深夜冒泡
- 粉丝: 16
- 资源: 2万+
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载