银行存储系统数据库设计与数据插入
需积分: 9 177 浏览量
更新于2024-09-18
收藏 131KB DOC 举报
"该资源是关于银行存储系统的数据库设计,包括了对储户表(luser)、存款单表(depositslip)和取款单表的介绍,以及相关的SQL语句用于创建表和插入数据。系统由三张表构成,分别存储用户的基本信息、存款记录和取款记录。表间存在一对一的关系,通过账号关联。"
在银行存储系统中,数据库设计扮演着至关重要的角色,因为它确保了数据的准确性和一致性。在这个例子中,我们关注的是两个关键的表:储户表(luser)和存款单表(depositslip)。
1. **储户表(luser)**:
- **字段(属性)**: 包括账号(acnum)、身份证号(id)、姓名(name)、性别(sex)、身高(height)、地址(address)和存款余额(Balance)。
- **字段类型**: 账号是VARCHAR(5),身份证号是NUMBER,姓名是VARCHAR2(20),性别是VARCHAR2(2),身高是NUMBER(3,2),地址是VARCHAR2(20),存款余额是INT。
- **主键约束**: 使用`ALTER TABLE luser ADD CONSTRAINT XPKluser PRIMARY KEY (acnum)`来设置账号为主键,确保每条记录的唯一性。
2. **存款单表(depositslip)**:
- **字段(属性)**: 包含存款单号(DPS_NUM)、金额(MONEY)、存款方式(DPS_WAY)、账号(ACNUM)和存款日期(DPS_TIME)。
- **数据插入**: 示例插入语句展示了如何向这个表中添加存款记录,如`insert into depositslip (DPS_NUM, ACNUM, MONEY, DPS_TIME, DPS_WAY) values (98001, '00001', 120, to_date('08-08-2009','dd-mm-yyyy'), '整存整取')`。
3. **表间关系**:
- **一对一关系**: 一个用户可以有多个存款单或取款单,而每个存款单或取款单都属于一个特定的用户。这种关系通过账号字段实现,账号在两个表中都是外键。
- **外键约束**: `ALTER TABLE drawslip ADD (CONSTRAINT R_6 FOREIGN KEY (acnum) REFERENCES luser(acnum))`这行代码在drawslip表中为acnum字段添加了外键约束,参照luser表的acnum字段,确保数据完整性。
4. **数据准备**:
- **创建表**: 使用CREATE TABLE语句创建luser和depositslip表,并通过ALTER TABLE添加主键和外键约束。
- **数据插入**: 插入luser表中的储户信息,以及depositslip表中的存款记录,模拟实际的银行操作。
这个银行存储系统的设计遵循了数据库规范化原则,通过合理的设计保证了数据的一致性和可维护性。此外,通过SQL语句进行数据操作,确保了数据的安全性和完整性。这样的系统对于银行和其他金融机构来说至关重要,因为它们需要处理大量的交易数据,且对数据的准确性有着极高的要求。
422 浏览量
1134 浏览量
110 浏览量
2023-11-02 上传
2022-08-03 上传
2022-08-03 上传

jhzderrick
- 粉丝: 0
最新资源
- Android dex2.jar:简单易用的反编译工具
- 六自由度对接平台:高效拼装雷达天线的设计装置
- Aspose.Cells组件使用指南:生成与编辑Excel文件
- 北大研一分布式环境下多表查询优化
- Cocos2d-x Lua基础开发教程
- 探索Svelte框架:非官方UIkit组件库
- 易语言开发特训小游戏教程与源码解析
- 深入解析Java实现的Zookeeper1核心机制
- 深度旋转动画实现硬币反转效果示例
- 多功能网页在线编辑器:上传图片视频轻松搞定
- 微动定位平台技术改进:行程范围调整解决方案
- Win32开发的迷你音乐播放器实现基本操作
- 机器学习实习生的深度学习技术学习之旅
- BIOS魔改工具助力B150/B250/H110平台支持8/9代CPU
- App-Kontomierz:智能账单管理工具应用
- 小米3刷机攻略:卡刷与线刷全面教程