用SQL写的简单的银行数据库
根据提供的文件信息,我们可以归纳出一个简单银行数据库的设计与实现要点。这个数据库主要涉及三个核心表:用户信息表(`userInfo`)、卡片信息表(`cardInfo`)以及交易记录表(`transInfo`)。接下来将详细介绍每个表的结构、约束及功能。 ### 一、用户信息表 `userInfo` **表结构:** - `customerID INT IDENTITY(1,1)`: 用户ID,自动增长,起始值为1。 - `customerName CHAR(8) NOT NULL`: 客户姓名,不能为空。 - `PID CHAR(18) NOT NULL`: 身份证号,不能为空。 - `telephone CHAR(13) NOT NULL`: 联系电话,不能为空。 - `address VARCHAR(50)`: 地址,可为空。 **约束条件:** - `PK_customerID PRIMARY KEY (customerID)`: 主键约束,确保`customerID`的唯一性。 - `CK_PID CHECK (LEN(PID) = 18 OR LEN(PID) = 15)`: 检查约束,确保身份证号码长度为15位或18位。 - `UQ_PID UNIQUE (PID)`: 唯一性约束,确保每个身份证号码在表中是唯一的。 - `CK_telephone CHECK (telephone LIKE '[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' OR telephone LIKE '[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' OR LEN(telephone) = 13)`: 检查约束,确保电话号码格式正确,要么是以四位数字加横线加八位数字的形式,要么是以三位数字加横线加八位数字的形式,或者直接是13位数字。 ### 二、卡片信息表 `cardInfo` **表结构:** - `cardID CHAR(19) NOT NULL`: 卡号,不能为空。 - `curType CHAR(5) NOT NULL`: 货币类型,默认为“RMB”。 - `savingType CHAR(8) NOT NULL`: 存款类型。 - `openDate DATETIME NOT NULL`: 开卡日期,默认为当前系统时间。 - `openMoney MONEY NOT NULL`: 开户金额,默认为1元。 - `balance MONEY NOT NULL`: 当前余额,默认为1元。 - `pass CHAR(6) NOT NULL`: 密码,6位数字,默认为“68”。 - `IsReportLoss BIT NOT NULL`: 是否挂失,0表示未挂失,1表示已挂失,默认为0。 - `customerID INT NOT NULL`: 用户ID,关联用户信息表。 **约束条件:** - `PK_cardID PRIMARY KEY (cardID)`: 主键约束,确保`cardID`的唯一性。 - `CK_cardID CHECK (cardID LIKE '10103576[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')`: 检查约束,确保卡号以特定的格式开头。 - `DF_curType DEFAULT ('RMB') FOR curType`: 默认约束,设定货币类型默认为“RMB”。 - `CK_savingType CHECK (savingType IN ('','',''))`: 检查约束,确保存款类型为预设的几种类型之一。 - `DF_openDate DEFAULT (GETDATE()) FOR openDate`: 默认约束,设定开卡日期为当前系统时间。 - `DF_pass DEFAULT ('68') FOR pass`: 默认约束,设定密码默认为“68”。 ### 三、交易记录表 `transInfo` **表结构:** - `transDate DATETIME NOT NULL`: 交易日期,不能为空。 - `transType CHAR(4) NOT NULL`: 交易类型(如“存入”、“取出”等),不能为空。 - `cardID CHAR(19) NOT NULL`: 卡号,不能为空。 - `transMoney MONEY NOT NULL`: 交易金额,不能为空。 - `remark TEXT`: 备注,可为空。 此表用于记录所有与银行卡相关的交易信息,包括但不限于存款、取款等操作,是银行数据库的重要组成部分。 该简单银行数据库设计覆盖了基本的银行业务需求,包括用户管理、卡片管理以及交易记录等功能。通过合理设置表结构和约束条件,确保了数据的一致性和完整性,为后续的数据查询、统计和分析提供了坚实的基础。
- skwwiy2013-05-07非常感谢 帮助很大
- gxy09052013-04-20很有参考意义啊,谢谢
- 粉丝: 1
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- SEW Interface.xlsx 智能设备的相关参数及调试方法\SEW 变频器IO接口说明
- python实现的将 高德地图api内的省市区数据转换为指定表结构的sql语句
- 麒麟系统下Veyon远程控制软件的安装与配置指南
- 滚床SEW MOVIFIT- FC变频器配置手册.docx
- 免费的电脑时钟,副屏显示时间,可以设置字体大小和颜色
- C++语言实现的简单协程库.zip
- 升降机SEW MOVIDRIVE 变频器配置手册.docx
- 中文版infineon比例阀专用控制芯片TLE82453器件手册
- 移载机SEW MOVIDRIVE 变频器配置手册.docx
- C++11语言级别实现的简易数据库连接池.zip