ATM取款系统:数据库设计与用户信息表剖析
需积分: 9 134 浏览量
更新于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取款机系统的各项功能需求。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2012-05-01 上传
2022-07-03 上传
深夜冒泡
- 粉丝: 19
- 资源: 2万+
最新资源
- STRUCTDLG:该函数将结构作为输入,然后自动构建图形用户界面。-matlab开发
- Wipadika-Innovations-Auth
- Skystone-10355
- trmilli:利西亚语中的墓志文字
- 博客网站
- WeeWX driver for Wario ME11/1x stations:Wario ME11 / 12/13/15站的WeeWX驱动程序-开源
- goit-react-hw-01-components
- Android应用源码之小米便签源代码分享.zip项目安卓应用源码下载
- test2,c语言编写简单图形界面源码,c语言程序
- 单板11-26A.zip
- background-gen
- 提取均值信号特征的matlab代码-matlab_classifier_2021:matlab_classifier_2021
- SelectPopupWindow.7z
- china-code.net.zhy.20,c语言程序设计现代方法源码,c语言程序
- cyclemap.github.io:循环图静态内容
- 萨拉介绍