银行ATM系统数据库设计与实现
需积分: 18 27 浏览量
更新于2024-07-12
收藏 2.3MB PPT 举报
第四阶段银行ATM(取款机)系统
在第四阶段中,我们将学习如何使用 SQL 语句创建索引和视图,并应用于银行 ATM(取款机)系统的数据库设计中。本阶段将为期 30 分钟,要求学员自己动手操作,教员巡视,解答学员提出的问题。
数据库设计
ATM 取款机系统数据库设计是本阶段的核心内容。我们将设计一个完整的数据库,包括用户信息表、银行卡信息表和交易信息表。
用户信息表(userInfo)
用户信息表是 ATM 取款机系统的基础表,用于存储用户的基本信息。该表包括以下字段:
* customerID:顾客编号,自动编号(标识列),从 1 开始,主键
* customerName:开户名,必填
* PID:身份证号,必填,只能是 18 位或 15 位,身份证号,唯一约束
* telephone:联系电话,必填,格式为 xxxx-xxxxxxxx 或手机号,13 位
* address:居住地址,可选输入
银行卡信息表(cardInfo)
银行卡信息表用于存储银行卡的详细信息。该表包括以下字段:
* cardID:卡号,必填,主健,银行的卡号规则和电话号码一样,一般前 8 位代表特殊含义,如某总行某支行等
* curType:货币种类,必填,默认为 RMB
* savingType:存款类型,必填,活期/定活两便/定期
* openDate:开户日期,必填,默认为系统当前日期
* openMoney:开户金额,必填,不低于 1 元
* balance:余额,必填,不低于 1 元,否则将销户
* pass:密码,必填,6 位数字,开户时默认为 6 个“8”
* IsReportLoss:是否挂失,必填,是/否值,默认为”否”
* customerID:顾客编号,外键,必填,表示该卡对应的顾客编号,一位顾客允许办理多张卡号
交易信息表(transInfo)
交易信息表用于存储交易记录。该表包括以下字段:
* transDate:交易日期,必填,默认为系统当前日期
* cardID:卡号,必填,外健,可重复索引
* transType:交易类型,必填,只能是存入/支取
* transMoney:交易金额,必填,大于 0
* remark:备注,可选输入,其他说明
ER 图和数据库设计
在设计数据库时,我们需要首先设计 ER 图,以确定实体和关系。然后,我们可以使用 SQL 语句创建数据库和表,添加约束和索引。
以下是创建数据库的 SQL 语句:
```sql
CREATE DATABASE bankDB
ON
(
NAME='bankDB',
FILENAME='D:\bank\bankDB.mdf',
SIZE=10MB,
FILEGROWTH=15%
)
LOG ON
(
NAME='bankDB_log',
FILENAME='D:\bank\bankDB_log.ldf',
SIZE=5MB,
FILEGROWTH=15%
)
```
在设计数据库时,我们需要考虑数据的完整性、唯一性和参照完整性等约束。同时,我们还需要考虑索引的创建,以提高查询效率。
通过本阶段的学习,我们将掌握数据库设计的基本原则和技术,能够独立设计和实现一个完整的数据库系统。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-07-17 上传
2012-03-20 上传
点击了解资源详情
点击了解资源详情
2009-06-26 上传
2023-07-06 上传
清风杏田家居
- 粉丝: 21
- 资源: 2万+
最新资源
- MapPlotter:让我们从瑞士创建3D视图
- techBlog:个人博客回购
- C,c语言可以绘制中国地图源码,c语言程序
- bash基础知识:只是一个小项目,它显示了一些基本知识os bash脚本
- 普朗克定律:我们称一个黑体的光子数。-matlab开发
- PHP-CSV-Calculator:示例PHP CLI程序可解析CSV数据并获取指定列的均值,中位数,众数和标准偏差
- openplatform-embedded:嵌入式版本的OpenPlatform
- NejmiYassine-taas-frontend-challenge
- registeringProcess
- main_sleep-timer,c语言有源码为什么编译不过,c语言程序
- Free-Fs 开源文件管理系统
- 小行星:使用html5 canvas和javascript重制经典小行星
- 产品UI设计创意网站模板
- 根据《Shell脚本编程详解》第12章节-Shell脚本编程,自己写的shell脚本。
- LeetCode
- Konntroll.github.io:我的编码项目和经验的简要说明