第八章项目讲述.pptx

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章项目讲述

项目案例: 银行ATM存取款机系统 第八章 训练的技能点 使用MySQL语句创建数据库和表结构 使用MySQL语句编程实现用户业务 使用事务和存储过程封装业务逻辑 使用视图简化复杂的数据查询 2/53 任务描述 系统功能概述 3/53 系统概述 开户 填写开户申请单自动开通账户 存取款 查询余额 转账 系统开发步骤 问题分析:整体开发思路2-1 明确需求 数据库设计 编码实现功能 测试 4/53 问题分析:整体开发思路2-2 银行业务处理 每个用户可以开设多个银行卡账户 每个银行卡账户可以有多笔交易 5/53 难点分析2:理解业务 ATM取款业务 卡号构成 假设某行由16位数字构成,每4位数字一组,中间用空格隔开 如:1010 3576 1001 1202 前8位数字固定的,表示发卡银行识别号(BIN) 前8位是1010 3576 后8位中前7位是开户顺序号,后1位是校验位 开户顺序号从1开始,每开一户,该值加一 校验位算法 以8位随机数替代卡号的后8位数字 客户用身份证开设账户 开户金额不得小于1元 存款余额不得小于1元 6/53 难点分析3:理解业务 ATM取款业务 存款 记录交易发生额,增加账户余额 取款 记录交易发生额,减少账户余额 转账 关系到二个账户,总账平衡 转出账户:记录交易转入金额,减少该账户的余额 转入账户:记录交易转出金额(同转入金额),增加该账户余额 7/53 开发计划 用例1:数据库设计,建库、建表 [40分钟] 用例2:插入测试数据 [10分钟] 用例3:利用视图实现较复杂的数据查询 [30分钟] 用例4:使用存储过程实现业务处理 [50分钟] 用例5:利用事务实现较复杂的数据更新 [30分钟] 8/53 用例1:数据库设计5-1 客户信息表结构(UserInfo) 9/53 列名称 数据 类型 说明 customerID int 客户编号 自动编号(标识列),从1开始,主键 customerName varchar 开户名 必填 PID varchar 身份证号 必填 telephone varchar 联系电话 必填 手机号11位 address varchar 居住地址 可选输入 列名称 数据 类型 说明 cardID char 卡号 必填,主键,银行的卡号规则和电话号码一样,一般前8位代表特殊含义,如某总行某支行等。假定该行要求其营业厅的卡号格式为:1010 3576 xxxx xxxx。每4位号码后有空格,卡号一般是随机产生 curID varchar 货币种类 外键,必填,默认为RMB savingType varchar 存款类型 必填, openDate datetime 开户日期 必填,默认为系统当前日期 openMoney Decimal 开户金额 必填, balance decimal 余额 必填, password varchar 密码 必填,6位数字,开户时默认为6个“8” IsReportLoss bit 是否挂失 必填,是/否值,默认为“否” customerID int 客户编号 外键,必填 用例1:数据库设计5-2 银行卡信息表结构(CardInfo) 10/53 用例1:数据库设计5-3 交易信息表结构 (TradeInfo) 11/53 字段名称 数据类型 说明 transDate datetime 交易日期 必填,默认为系统当前日期 cardID varchar 卡号 外键,必填 transType int 交易类型 必填 transMoney decimal 交易金额 必填,大于0 remark varchar 备注 可选输入,其他说明 用例1:建库、建表5-5 需求说明 使用MySQL语言创建数据库BankDB 使用MySQL语言创建表 客户信息表 银行卡信息表 交易信息表 12/53 用例2:插入测试数据4-1 需求说明 使用MySQL语言向每个表中插入至少5条记录 思路分析 先增加主表的记录,后增加子表的记录 难点提示 插入数据表的先后顺序 插入客户记录时,先要查询 13/53 用例2:插入测试数据4-2 张三和李四开户: 14/53 SET NOCOUNT ON --不显示受影响的条数信息 INSERT INTO userInfo(customerName,PID,telephone,address ) VALUES(张三,123456789012345,010北京海淀) INSERT INTO cardInfo(cardID,savingType,openMoney ,balance,customerID) VALUES(1010 3576 1234 5678, 活期,1000,1000,1) I

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档