银行存储系统数据库设计与数据插入
需积分: 0 181 浏览量
更新于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语句进行数据操作,确保了数据的安全性和完整性。这样的系统对于银行和其他金融机构来说至关重要,因为它们需要处理大量的交易数据,且对数据的准确性有着极高的要求。
2011-06-11 上传
2019-03-23 上传
2009-04-20 上传
2023-12-11 上传
2024-06-23 上传
2023-12-07 上传
2023-02-22 上传
2023-06-12 上传
2024-09-06 上传
jhzderrick
- 粉丝: 0
- 资源: 2
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码