银行核心业务系统案例与db基础

上传人:tian****1990 文档编号:74711066 上传时间:2019-01-29 格式:PPT 页数:58 大小:334.50KB
返回 下载 相关 举报
银行核心业务系统案例与db基础_第1页
第1页 / 共58页
银行核心业务系统案例与db基础_第2页
第2页 / 共58页
银行核心业务系统案例与db基础_第3页
第3页 / 共58页
银行核心业务系统案例与db基础_第4页
第4页 / 共58页
银行核心业务系统案例与db基础_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《银行核心业务系统案例与db基础》由会员分享,可在线阅读,更多相关《银行核心业务系统案例与db基础(58页珍藏版)》请在金锄头文库上搜索。

1、银行核心业务系统案例,张英,任务,现有一商业银行需要用计算机完成其核心业务系统,完成任务的步骤,准备工作 需求分析 限定业务范围 业务流程及数据调查 建立模型 物理实现 测试、运行与维护,需求分析-业务限定,业务限定: 存款账户的开户、存款、取款、行内转账、挂失、销户; 存款及客户信息的查询和统计。,开户业务流程,开户业务流程: 用户填写基本信息 根据用户身份证号查询该用户是否已经是本行客户 如果不是,先登记基本信息,再开户。 如果是,则直接开户。 开户:确定存款账户类型及金额;填写账户相关信息;用户预留密码;打印存折或发卡,开户需要数据项,客户身份证编号 客户姓名 客户所在城市 联系电话 性

2、别 职业 帐号 开户日期 账户余额 账户类型 银行操作人员 开户银行分支机构,存款业务流程,存款业务流程 用户提供账号(通过卡或存折)和存款数额信息 查询指定账号是否存在,如果不存在,则提示错误并终止业务;否则继续。 收取相应数量的现金,更改相应账户的余额,记录本次业务明细信息。,存款数据项,帐号 存款日期 存款额 账户余额 银行操作人员,取款业务流程,取款业务流程: 用户提供账户,输入密码,取款数额 查询指定账号是否存在,如果不存在,则提示错误并终止业务;否则继续。 查询用户输入的密码与系统预留密码是否一致,如果不一致,则重新输入密码;否则继续。 查询指定账户是否为正常账户,是则继续,否则提

3、示错误并终止业务。 查询指定账户的余额是否足够支取,如果不够,则提示错误并终止业务;否则继续。 给用户支取相应数量的现金,更改相应账户的余额,记录本次业务明细信息。,取款数据项,帐号 取款日期 取款额 账户余额 银行操作人员,行内转账业务流程,行内转账业务流程: 用户提供转出账户,输入密码、对方账户和转账数额信息 查询上述指定账号是否都存在,如果任一个账户不存在,则提示错误并终止业务;否则继续。 查询用户输入的密码与系统预留密码是否一致,如果不一致,则提示重新输入密码;否则继续。 查询转出账户是否为正常账户,是则继续,否则提示错误并终止业务。 查询转出账户的余额是否足够转账,如果不够,则提示错

4、误并终止业务;否则继续。 更改转出账户与对方账户的余额,记录本次业务明细信息。,行内转账数据项,转出帐号 对方账号 转账金额 转账日期 银行操作人员,其它业务流程,其他业务流程请同学们讨论 挂失 销户 查询余额、交易明细 需要哪些数据项?,需求数据汇总,开户:客户身份证编号 ,客户姓名,客户所在城市 ,联系电话 ,性别 ,职业 、 帐号 ,开户日期,账户余额,账户类型,银行操作人员,开户银行分支机构 存款 :帐号 ,存款日期,存款额,账户余额,银行操作人员 取款:帐号 ,取款日期, 取款额,账户余额,银行操作人员 转账:转出帐号 ,对方账号,金额 ,转账日期,银行操作人员 销户:帐号 ,账户余

5、额,销户日期,账户状态 挂失:帐号 ,挂失日期,账户状态 客户查询:账号,余额,存取款历史(时间,业务类型,发生额,当时余额),问题,这些业务数据代表的现实世界如何在计算机内表示? 用几张表存储?,数据模型,在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。 数据模型应满足三方面要求 能比较真实地模拟现实世界 容易为人所理解 便于在计算机上实现 这三方面的要求是否很容易都满足?,数据模型层次,概念模型 也称信息模型 按用户的观点对数据和信息建模。 (2) 结构模型 按计算机系统的观点对数据建模。主要包括网状模型、层次模型、关系模型, 面向

6、对象模型等。,客观对象的抽象过程,概念模型中的基本概念,(1) 实体(Entity) 客观存在并可相互区别的事物称为实体。 (2) 属性(Attribute) 实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。 (3) 域(Domain) 属性的取值范围称为该属性的域。 (4) 超码与侯选码、主码 唯一标识实体的属性集称为超码。唯一标识实体的最小属性集称为侯选码。 根据需要,选择一个候选码作为主码。 主属性:包含在任意一个候选码中的属性。 非主属性,概念模型中的基本概念(续),实体型(Entity Type)与实体集(Entity Set) 联系(Relationship) 反应

7、实体集之间的关联。 一对一联系(1:1) 银行和正行长之间的联系 一对多联系(1:n) 客户和账户之间的联系 多对多联系(m:n) 客户和银行之间的联系,E-R图,实体型(或实体集) 用矩形表示,矩形框内写明实体名。 属性 用椭圆形表示,并用无向边将其与相应的实体连接起来; 候选码:属性下加下划线,E-R图,案例 E-R图,逻辑模型关系模型,银行表 客户表,账户表,存、取款、转账明细表deposit,银行职员表,二维表(或关系),元组,属性,主码:customer_id,关系的完整性约束,新增一个客户,身份证号 可以不填吗?身份证号 可以重复吗? 实体完整性(主属性非空) 客户的性别栏可以填写

8、什么? 用户定义的完整性 账户表中customer_id栏是否可以出现一个在客户表customer_id栏中不存在的值? 参照完整性,外码,Customer的主键? Account的主键? 注意:一个客户可以有多个账号,Cust_id称为account表的外码,参照完整性,外码的取值: 或者取空值 或者等于它引用的主码的一个值。,关系操作,类型 查询、 增加、 删除、 修改 语言 SQL,查询操作,找出成都的客户 -选择 查看所有客户的身份证号和姓名 -投影 查看所有客户的身份证号、姓名和存款账户信息 -连接,连接举例,等值连接,自然连接,SQL概述,SQL(Structured Query

9、Language ) 是关系数据库标准语言,最早由 IBM 公司研制,并在其SYSTEM R系统中实现。 SQL 标准: SQL-86 (ANSI 1986) (ISO 1987) SQL-89 (ANSI 1989) SQL-92 or SQL2 (ANSI 1992) SQL-99 or SQL3 (ANSI 1999) SQL2003,SQL命令动词,有关sql语句的说明,SQL是大小写无关的 每个SQL语句用半角分号“;”结束 在SQL语句中字符数据用半角单引号“ ”括起,ORACLE SQL中常用基本数据类型,字符型 char(n) 固定长度字符串 varchar2(n) 变长长度字

10、符串 数值型 Int 整数 number(p,d) 小数,p为有效数位,d为小数位数。 日期时间型 date. 日期型(4位年)。 一般格式: yyyy-mm-dd 例如: 2012-1-27,定义基本表,CREATE TABLE ( , , );,常用完整性约束条件,常用列级完整性约束条件 NOT NULL PRIMARY KEY 仅适用于单属性主码 UNIQUE CHECK( ) 定义域 常用表级完整性约束条件 PRIMARY KEY(主码) CHECK (条件) FOREIGN KEY (外码) REFERENCES 表名(与外码对应的主码) UNIQUE(属性),创建系统中的表,Cus

11、tomer表 CREATE TABLE customer ( cust_id CHAR(18) primary key, cust_name varCHAR2(20) not null, cust_city varchar2(30) , cust_phone varCHAR2(13), cust_gender CHAR(1) , cust_job varCHAR2(30); ACCOUNT表 查看表的结构,向表中添加数据,插入数据:向指定表中插入一条或多条元组; INSERT INTO ( ) VALUES ( ); INTO子句 属性列的顺序可与表定义中的顺序不一致 可以只指定部分属性列(必

12、须包含主属性) 如果不指定属性列:表示要插入的是一条完整的元组,且属性列顺序与表定义中的顺序一致(不建议使用) 练习:插入一个客户及其开户数据,SQL查询,查询语句的一般格式: SELECT FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC ;,各子句含义,SELECT子句:指定要显示的属性列表达式(即结果关系的属性) FROM子句:指定查询需要的表 WHERE子句:指定查询条件 GROUP BY子句:分组统计。对表中满足查询条件的行按指定列分组,值相等的行为一个组。通常会在每组中使用集函数(即完成统计功能的函数)。 HAVING短语:筛选出满足指定

13、条件的组 ORDER BY子句:对查询结果按指定顺序排序,简单查询,从表Customer中查询Cust_id,cust_name。 select cust_id,cust_name from customer; 查询表Customer的全部数据。 “*”表示表中所有字段。 SELECT * FROM Customer 查询表Account中有开户记录的客户身份证号。 SELECT DISTINCT cust_id FROM account,条件查询,条件查询,查询”成都“的客户信息 select * from customer where cust_city=成都; 表Customer中查询”

14、成都”的“教师”的信息 select * from customer where cust_city=成都 and cust_job=教师 查询余额大于100000或小于20000的帐户信息 select * from account where balance1000,条件查询,从表account中查询balance在2000元到10000元记录。 select * from account where balance between 20000 and 100000 从表customer中查询cust_job是教师工人工程师的记录。 select * from customer where

15、 cust_job in (教师,工程师,工人) 从表Customer中查询Cust_phone不为空的记录。 select * from customer where cust_phone is not null,统计查询,统计查询,计算表Account中所有帐户的最高Balance、最低balance select max(balance) 最高余额 ,min(balance) 最低余额 from account 计算表Customer 成都的客户数。 select count(*) from customer where cust_city=成都 统计Account中有开户记录的客户数。

16、 select count(distinct cust_id) from account 思考:这里的DISTINCT为什么不能省略?,分组查询,关键:确定分类字段、汇总字段, 汇总函数 查询每个客户的帐户数。 select cust_id,count(*) as 开户数 from account group by cust_id; 查询每个客户的帐户余额合计。 select cust_id,sum(balance) as 余额合计 from account group by cust_id;,查询结果排序,从表customer查询结果按cust_city升序排序,cust_city相同的按照cust_job降序排序。 select * from customer order

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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