银行ATM代码

上传人:206****923 文档编号:51514116 上传时间:2018-08-14 格式:PPT 页数:43 大小:1.99MB
返回 下载 相关 举报
银行ATM代码_第1页
第1页 / 共43页
银行ATM代码_第2页
第2页 / 共43页
银行ATM代码_第3页
第3页 / 共43页
银行ATM代码_第4页
第4页 / 共43页
银行ATM代码_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《银行ATM代码》由会员分享,可在线阅读,更多相关《银行ATM代码(43页珍藏版)》请在金锄头文库上搜索。

1、ACCP V4.0ATM取款机系统 数据库设计ACCP V4.0问题描述某银行拟开发一套ATM取款机系统,实现如下功能:1、开户(到银行填写开户申请单,卡号自动生成)2、取钱3、存钱4、查询余额5、转账(如使用一卡通代缴手机话费、个人股票交易 等)现要求对“ATM柜员机系统”进行数据库的设计并实现, 数据库保存在D:bank目录下,文件增长率为15% 。2ACCP V4.0问题分析-1字段名称字段名称说说说说 明明customerID顾客编 号自动编号(标识列), 从1开始,主键 customerName 开户名必填PID身份证 号必填,只能是18位或15位 ,身份证号唯一约束 telepho

2、ne联系电 话必填,格式为xxxx- xxxxxxxx或手机号13位address居住地 址可选输入用户信息表:userInfo :3ACCP V4.0问题分析-2银行卡信息表:cardInfo字段名称字段名称说说说说 明明cardID卡号必填,主健,银行的卡号规则和电话号码一样,一 般前8位代表特殊含义,如某总行某支行等。假定该 行要求其营业厅 的卡号格式为:1010 3576 xxxx xxx 开始,每4位号码后有空格,卡号一般是随机产生.curType货币种 类必填,默认为RMBsavingType存款类型活期/定活两便/定期openDate开户日期必填,默认为系统当前日期openMon

3、ey开户金额必填,不低于1元balance余额必填,不低于1元,否则将销户pass密码必填,6位数字,开户时默认为6个“8”IsReportLoss是否挂失必填,是/否值,默认为”否”customerID顾客编号外键,必填,表示该卡对应的顾客编号,一位顾客 允许办理多张卡号4ACCP V4.0问题分析-3字段名称字段名称说说说说 明明transDate 交易日 期必填,默认为系统当前 日期 cardID卡号必填,外健,可重复索引transType 交易类 型必填,只能是存入/支取transMoney交易金 额必填,大于0remark备注可选输入,其他说明交易信息表:transInfo 5ACC

4、P V4.0难点分析-1q 设计ER图、建库、建表、加约束、建关系部分建库语句:CREATE DATABASE bankDBON(NAME=,FILENAME=,SIZE=,FILEGROWTH=)LOG ON(.)建表语句:CREATE TABLE 表名(customerID INT IDENTITY(1,1),customerName CHAR(8) NOT NULL, )文件增长率数据文件日志文件自动编号,从1开始非空/必填6ACCP V4.0难点分析-2q 设计ER图、建库、建表、加约束、建关系部分建约束语句:ALTER TABLE cardInfoADD CONSTRAINT PK_

5、cardID PRIMARY KEY(cardID),CONSTRAINT CK_cardID CHECK(cardID LIKE 1010 3576 0-9),CONSTRAINT DF_curType DEFAULT(RMB) FOR curTypeCONSTRAINT FK_customerID FOREIGN KEY(customerID) REFERENCES userInfo(customerID),CONSTRAINT UQ_PID UNIQUE(PID),主键约束检查约束外键约束 (建关系) 唯一约束默认约束7ACCP V4.0难点分析-3字段名称字段名称说说说说 明明cust

6、omerID顾客编 号自动编号(标识列), 从1开始,主键 customerName 开户名必填PID身份证 号必填,只能是18位或15位 ,身份证号唯一约束 telephone联系电 话必填,格式为xxxx- xxxxxxxx或手机号13位address居住地 址可选输入建表时:IDENTITY(1,1)check约束: len( )函数建表时:NOT NULLcheck约束: like 0-90-9 设计ER图、建库、建表、加约束、建关系部分8ACCP V4.0子查询:SELECT FROM WHERE transMoney=(SELECT FROM )内部连接:SELECT FROM u

7、serInfo INNER JOIN cardInfo ON SQL编程:DECLARE inMoney moneySELECT inMoney=sum(transMoney) from where (transType=存入)视图:CREATE VIEW view_userInfo AS -SQL语句GO难点分析-4声明变量 插入测试数据、常规业务模拟、创建索引视图部 分给变量赋值的两种方法:SELECT或SET测试视图: SELECT FROM view_userInfo 9ACCP V4.0CREATE TRIGGER trig_trans ON transInfo FOR INSERT

8、AS select myTransType=transType,outMoney=transMoney ,myCardID=cardID from insertedif ()beginraiserror (交易失败!余额不足!,16,1)rollback tran -取消交易endGO难点分析-5插入的数据临时表:inserted 创建触发器部分错误提示: raiserror( )函数取消交易,撤销事务: rollback trans插入触发器10ACCP V4.0创建存储过程: CREATE PROCEDURE proc_takeMoneycard char(19),type char(4)

9、 ,inputPass char(6)= AS SQL语句GO调用存储过程:EXEC proc_openAccount 李四,321245678912345678,0478-44443333,1,定期难点分析-6 存储过程部分1:存储过程的参数有默认值的参数,放在最后11ACCP V4.0创建存储过程: CREATE PROCEDURE proc_randCardID randCardID char(19) OUTPUTSELECT r=RAND (随机种子 )例如:0. 08233262 3215set randCardID =.SUBSTRING(tempStr,3,4)GO 调用存储过程

10、:DECLARE mycardID char(19)EXECUTE proc_randCardID mycardID OUTPUT难点分析-7 存储过程部分2:OUTPUT表示传出的参数产生0-1的随机数字符串截取函数截取小数点后8位作为卡号的后八为数 卡号(4位一组,用空格隔开):1010 3576 0823 3262调用带output输出参数的存储过程12ACCP V4.0阶段划分q 第一阶段(30分钟)利用PowerDesigner设计E-R图 q 第二阶段( 50分钟)利用SQL语句实现建库、建表、加约束、建关系 q 第三阶段(30分钟)利用SQL语句插入测试数据、模拟常规业务操作 q

11、 第四阶段(40分钟)利用SQL语句创建索引和视图、创建触发器 q 第五阶段(60分钟)利用SQL语句创建3个存储过程并测试 q 第六阶段(20分钟)利用SQL语句创建转帐事务并测试 q 第七阶段(20分钟)利用SQL语句创建系统维护帐号并授权 13ACCP V4.0第一阶段q第一阶段(50分钟)利用PowerDesigner设计E-R图q要求学员自己动手操作,教员巡视,解答学员提 出的问题14ACCP V4.0阶段检查q针对第一阶段抽查学员的操作结果 q教员给出点评或集中演示难点部分15ACCP V4.0第一阶段结果演示1q第一阶段操作的结果:q?加吗?16ACCP V4.0第二阶段q第二阶

12、段(50分钟)利用SQL语句实现建库、建表、加约束、建关系q要求学员自己动手编写SQL语句,教员巡视,解 答学员提出的问题17ACCP V4.0阶段检查q针对第二阶段抽查学员的编码结果q教员给出点评或集中演示难点部分18ACCP V4.0第二阶段标准代码演示-1q建库IF exists(SELECT * FROM sysdatabases WHERE name=bankDB)DROP DATABASE bankDBGOCREATE DATABASE bankDB ON(NAME=bankDB_data,FILENAME=d:bankbankDB_data.mdf,SIZE=1mb,FILEGR

13、OWTH=15%)LOG ON(检验数据库是否存在,如果为 真,删除此数据库 创建建库bankDB19ACCP V4.0第二阶段标准代码演示-2q建表:USE bankDBGOCREATE TABLE userInfo 用户信息表 (customerID INT IDENTITY(1,1),customerName CHAR(8) NOT NULL,PID CHAR(18) NOT NULL,telephone CHAR(13) NOT NULL,address VARCHAR(50)GOCREATE TABLE cardInfo -银行卡信息表(cardID CHAR(19) NOT NUL

14、L,curType CHAR(5) NOT NULL,savingType CHAR(8) NOT NULL,openDate DATETIME NOT NULL,openMoney MONEY NOT NULL,balance MONEY NOT NULL,pass CHAR(6) NOT NULL,IsReportLoss BIT NOT NULL,customerID INT NOT NULL)CREATE TABLE transInfo -交易信息表(transDate DATETIME NOT NULL,transType CHAR(4) NOT NULL,cardID CHAR(1

15、9) NOT NULL,transMoney MONEY NOT NULL,remark TEXT )GO20ACCP V4.0第三阶段q第三阶段(60分钟):利用SQL语句实现插入测试数据、常规业务操作 q要求学员自己动手操作,教员巡视,解答学员提 出的问题21ACCP V4.0阶段检查q针对第三阶段抽查学员的编码结果 q抽查学员编写的完整代码,要求学员上台讲解, 并演示运行结果 q教员给出点评22ACCP V4.0第三阶段标准代码演示-1q 张三和李四开户:SET NOCOUNT ON -不显示受影响的条数信息INSERT INTO userInfo(customerName,PID,telephone,address )VALUES(张三,123456789012345,010-67898978,北京海淀)INSERT INTO cardInfo(cardID,savingType,openMoney,balance,customerID) VALUES(1010 3576 1234 5678, 活期 ,1000,1000,1)INSERT INTO userInfo(customerName,PID,telephone)VALUES(李四,321245678912345678,0478-44443333)INSERT INTO cardInfo(c

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号