实验报告二是开放的小组实验,老师都说过没有标准答案,以下仅供参考。
当时并没有ChatGPT-3的帮助,事实上我也并不熟悉银行金融业务,我和小组成员在网站上就找了大量资料来做这个实验报告,资料有银行的一些业务数据库表、类似的实验报告模板(什么xx农业大学,模板很像,借鉴了一些)、论文(水文多很难参考),现在我把当时搜过的资料都整合上传,点击这里可以下载查看,https://www.modb.pro/doc/103531。重要的事情要😅😅😅三下,别一路看下去急急忙忙抄上去摆烂,你这样子下一届老师换题目肿么办,你好意思咩😭往年期末试卷不公布就是这么个原理,另外要是抄的多老师把我揪出来丢人,我就😅😅😅。强烈建议要写报告的人下载来看一看,我相信你看了整合的资料后,不再盲人摸象,去做这个开放的实验报告二会有很大的帮助!
风格基本上是按老师发的实验报告二拆分的三个小模板写下去的,索引设计和分区自由想象合理设计就行,特殊(其他)设计也是找到网上其他银行ppt内容借鉴的,你们做特殊设计的时候可以多找一些网上资料自由发挥。
md语法限制表格合并,docx的表格转html有点烦,凑合看吧🤣
一、实验目的及要求
1、培养学生利用所学知识和技能来分析现实问题、设计解决方案的能力。
2、要求学生分组完成,但是组内不能简单分工,需要各成员通力合作。
3、要求学生分析银行金融业务,并对相关数据进行详细分析与预测,避免设计的随意性。
4、方案设计要求全面,除了课程知识外,还要涵盖磁盘存储、数据中心等概念,只有如此才能形成一个完整的存储方案。对相关网络知识和服务器知识不做具体要求。
二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)
1、安装windows 7或Windows 2000及更高版本的微型计算机。。
2、Oracle 11g及更高版本。
三、实验内容及要求
(一)背景描述
以某个国有大银行为基础,筛选部分业务作为研究对象,建议业务选择以储蓄业务(必选,包括银行卡账户和存折账户)、信用卡业务和贷款业务为核心,涵盖网络银行、手机银行、POS机、柜员机、柜台等经营方式。为该银行的该业务设计以Oracle数据库为载体的数据中心存储方案设计,本设计侧重数据存储。不建议选择太多业务,避免设计范围广,但设计不深入,不具体。
(二)内容及要求
1、银行系统分析
数据可以通过网络搜索、公司报表等多种方式获取,建议获取三年数据进行分析,至少要获取两个年度数据进行分析。获取尽量全面和详细,这是下一步设计的重要依据。本部分内容建议用表格进行展示。
(1)分析业务特点。主要分析业务处理过程信息,主要包括但不局限于:
业务平均耗时:办理某项业务的平均耗时信息,通过分析考虑资源加锁时的锁定时间。
平均业务量:某个时间单位内的业务平均办理量,包括平均请求量和平均处理量。为并发访问提供依据。
业务高峰期间及高峰量:为系统性能设计提供依据。
业务增量:某个时间段内业务量同比的增长量或类比增长量,为系统弹性设计提供依据。
(2)业务数据特点。主要分析在实现业务的过程中,所需要输入的数据、调用的数据或者生成的数据。此处主要分析生成的数据,也就是要存储到数据库的数据,主要包括但不局限于:
数据形式:由哪些数据信息组成,为数据表及字段的设计提供依据。
数据量:在某个时间段内的平均数据记录数量,比如某天多少条数据。
高峰数据量:在高峰期某个时间段内的最大数据量。
数据增量:某个时间段内的数据同比增长量或类比增长量。
2、数据库逻辑模式设计
设计存储数据的各个模式及表结构。数据首先要存储在数据表中,因此要先设计出数据库的逻辑模式,设计结果只需要记录表结构信息,不需要ER图等内容。设计结果以表格展示。
(1)数据表名称及含义(存储的数据)列表
以表格的形式,对所有设计的数据表做一个汇总。
(2)每一个数据表的逻辑结构及索引
以表格的形式对每一个数据表的逻辑结构及表上索引进行说明。要求列出每一个字段的名称、类型、大小、含义、约束,并在最后一行对表中的索引进行说明。索引需要给出索引的类型、字段及设计依据,设计依据简单一句话即可,主要说明为什么设计这个索引。
对于分区表的设计,此处只需要在表名后面标注一下即可,具体分区设置在下一节说明。
(3)分区表设计及索引,分区表必选给出分区字段、类型和数量
对于分区表,需要单独设计。表的分区信息包括分区类型、分区字段、每个分区的信息(分区名称、分区的数据范围、存储表空间)。如果索引也需要分区,则需要表明索引分区的存储表空间。
3、数据库物理存储设计
数据库中的数据最终要以文件形式进行存储,因此要重点设计数据库物理存储方案。可以进行存储设备的选择,并设计设备的布置方案,尤其是硬盘的布置方案。
(1)表空间及数据文件设计
以列表的形式,展示每一个表空间的数据文件信息。主要包括文件名称、所在磁盘、文件大小、增长性等。
(2)表空间的表存储设计
数据表和索引需要存储在表空间中,以列表形式,将每个表空间中所存储的表、分区及索引信息进行呈现。
(3)重做日志文件管理设计
重做日志文件组及文件成员设计、数据库归档目标设计。
4、数据库访问控制设计
(1)用户及模式
设计每一个用户(模式)名称,依据该模式中的表对象。以表格形式呈现。
(2)配额
设计每一个用户在每一个表空间上的配额。以表格形式呈现。
(3)权限
设计每一个用户的主要权限。用户对自己模式中对象具有全部权限,不要重复说明,主要说明用户对其他模式对象的权限。可以不设计系统权限,可以不使用角色。以表格形式呈现。
5、数据库灾备方案设计
(1)备份方案设计
备份方案要具体且详细,要包括时间、备份内容、备份类型、备份包存储、失效时间等。以表格形式呈现。
(2)历史数据的转储设计
涵盖转储对象、转储时间、位置及转储方式。以表格形式呈现。
6、其他设计
(1)数据逻辑存储设计
表空间、数据表、分区的逻辑存储参数设计。比如段管理、区分配、并发事务数等参数。此处不需要一一罗列,采用默认的不需要说明,只需要展示特殊设计即可。
(2)实例参数设计
主要是列出SGA中的各个主要结构的大小及设计依据。
要求:
(1)内容要全面,不能丢失数据信息。
(2)设计要实用,实用是最高原则。
(3)充分考虑系统的特性,尤其是并发度高,数据量大。
(4)表格设计要美观,排版要简洁。
(5)可以在设计下方写上实现的命令代码。
(6)可以增加设计内容。
四、实验步骤及结果(包含简要的实验步骤流程、结论陈述。可附页。)
1、银行系统分析
根据某国有大银行近3年年度报告整体数据量分析
| 类别/时间 | *2021-12-31* | *2020-12-31* | *2019-12-31* |
|---|---|---|---|
| 银行卡发卡量 | 1,169,000,000.00 | 1,127,190,000.00 | 1,029,000,000.00 |
| 借记卡发卡量(即储蓄卡) | 1,006,014,000.00 | 967,000,000.00 | 913,883,000.00 |
| 个人客户量(即用户) | 704,621,000.00 | 680,692,100.00 | 650,092,000.00 |
| 公司客户量(即用户) | 9,690,000.00 | 860,200.00 | 809,327.00 |
| 手机银行客户量 | 469,000,000.00 | 416,000,000.00 | 361,500,000.00 |
| 自动柜员机量(即ATM) | 66,563 | 73,059 | 82,191 |
| 营业网点量(即柜台) | 15,767 | 15,800 | 15,784 |
分割线
1.(1)业务数据特点分析
ATM(柜员机)业务特点
| 业务名称 | 输入数据 | 输出数据 | 业务量(笔/天) | 高峰量(笔/秒) |
|---|---|---|---|---|
| 登录 | 银行卡账号、密码 | 250万 | 3000 | |
| 修改密码 | 银行卡账号、原密码、新密码 | 3万 | 100 | |
| 查询余额 | 银行卡账号、密码 | 流水号,银行卡账号,账户余额 | 70万 | 1500 |
| 存款 | 银行卡账号、密码,存款金额 | 流水号,银行卡账号,存款金额,账户余额 | 125万 | 2000 |
| 转账 | 银行卡账号、密码,转入方银行卡账号 | 流水号,银行卡账号,转账金额 | 15万 | 300 |
| 取现 | 银行卡账号、密码,取现金额 | 流水号,银行卡账号,取现金额 | 180万 | 2000 |
Pos机业务特点
| 业务名称 | 输入数据 | 输出数据 | 业务量(笔/天) | 高峰量(笔/秒) |
|---|---|---|---|---|
| 登录 | 银行卡账号、密码 | 800万 | 1万 | |
| 结账 | 银行卡账号、密码,结账金额 | 账号余额,结账状态 | 800万 | 1万 |
| 附:没有查询余额功能,为了安全,防止盗刷人恶意测试密码、查询余额 |
网络银行业务特点
| 业务名称 | 输入数据 | 输出数据 | 业务量(笔/天) | 高峰量(笔/秒) |
|---|---|---|---|---|
| 注册 | 手机号、密码 | 网络银行账户 | 10万 | 500 |
| 登录 | 银行卡账号、密码 | 1000万 | 3万 | |
| 修改密码 | 银行卡账号、原密码、新密码 | 200万 | 3000 | |
| 实名认证 | 用户姓名、身份证号 | 用户姓名,身份证号,绑定状态 | 100万 | 1500 |
| 办理银行卡 | 用户姓名、身份证号、银行卡密码 | 用户姓名,身份证号 | 2.5万 | 300 |
| 绑定银行卡 | 银行卡账户、密码、手机号 | 银行卡账户,手机号 | 10万 | 500 |
| 查询余额 | 银行卡账号、密码 | 银行卡账号,账户余额 | 500万 | 2万 |
| 转账(包括支付) | 银行卡账号、密码、转入方银行卡账号、转账金额 | 银行卡账号,转账金额 | 8000万 | 100万 |
| 贷款 | 身份证号,银行卡账号,贷款金额,贷款天数 | 银行卡账号,贷款金额,贷款天数,贷款利率 | 6万 | 300 |
柜台业务特点
| 业务名称 | 输入数据 | 输出数据 | 业务量(笔/天) | 高峰量(笔/秒) |
|---|---|---|---|---|
| 开户 | 用户姓名,身份证号,手机号,地址。选择性输入:网络银行账户密码 | 选择性输出:网络银行账户 | 20万 | 200 |
| 更改用户信息 | 用户姓名,身份证号,手机号,地址。 | 50万 | 500 | |
| 开卡 | 用户姓名,身份证号,手机号,银行卡密码 | 用户姓名,银行卡账号,手机号 | 1.9万 | 20 |
| 查询卡余额 | 银行卡账户、银行卡密码 | 银行卡余额 | 100万 | 700 |
| 修改卡密码 | 用户姓名,身份证号、手机号、银行卡账户选择性输入:原银行卡密码,监护人姓名 | 5万 | 40 | |
| 卡挂失 | 用户姓名,身份证号 | 银行卡账号,卡状态 | 5万 | 60 |
| 卡激活 | 用户姓名,身份证号,银行卡账号 | 银行卡账号,卡状态 | 5万 | 70 |
| 用卡存款(活期储蓄) | 银行卡账号,银行卡密码 | 流水号,银行卡账号,存款金额,存款时间 | 25万 | 300 |
| 用卡转账 | 银行卡账号,银行卡密码,转入方银行卡账号 | 流水号,银行卡账号,转入方银行卡账号,转账金额,转账时间 | 50万 | 300 |
| 用卡取现 | 银行卡账号,银行卡密码 | 流水号,银行卡账号,取现金额 | 30万 | 200 |
| 销卡 | 用户姓名,身份证号,手机号,银行卡账号,银行卡密码 | 银行卡状态 | 2万 | 20 |
| 开存折 | 用户姓名,身份证号 | 存折账号 | 1000 | 10 |
| 查询存折状态(挂失/正常) | 用户姓名,身份证号,存折账号 | 存折状态 | 100 | 10 |
| 用存折存款(活期储蓄) | 存折账号,密码 | 流水号,存折账号,转账金额 | 5万 | 50 |
| 用存折转账 | 存折账号,密码,转入方存折账号 | 流水号,存折账号,转账金额,转入方存折账号 | 1万 | 10 |
| 用存折取现 | 存折账号,密码 | 流水号,存折账号,取现金额 | 5万 | 50 |
| 销存折 | 用户姓名,身份证号,存折账号 | 存折状态 | 100 | 10 |
| 销户 | 用户姓名,身份证号 | 账户状态 | 3万 | 30 |
| 定期储蓄 | 身份证号,银行卡账号,存款金额,存期天数 | 银行卡账号,存款金额,存期天数,定期利率 | 25万 | 400 |
| 提前支取定期储蓄 | 身份证号,银行卡账号,支取金额 | 支取金额 | 5万 | 100 |
| 贷款 | 身份证号,银行卡账号,贷款金额,贷款天数 | 银行卡账号,贷款金额,贷款天数,贷款利率 | 24万 | 300 |
| 还款(到期还息) | 银行卡账号,贷款金额,贷款天数 | 银行卡账号,还款金额 | 23万 | 200 |
分割线
2、数据库逻辑模式设计
设计存储数据的各个模式及表结构。数据首先要存储在数据表中,因此要先设计出数据库的逻辑模式,设计结果只需要记录表结构信息,不需要ER图等内容。设计结果以表格展示。
(1)数据表名称及含义(存储的数据)列表
以表格的形式,对所有设计的数据表做一个汇总。
| 数据表****名称 | 所属表空间 | 含义 | 对应业务 |
|---|---|---|---|
| AtmLogin | Login01 | atm登录信息表 | 登录、查询余额、存款(活期)、取现、转账、修改密码、退卡 |
| PosLogin | Login02 | Pos登录信息表 | 登录、转账、对账 |
| BankLogin | Login03 | 网络银行登录信息表 | 注册、登录、绑定银行卡、解绑银行卡、实名认证、查询余额、存款(活期)、存款(定期)、贷款、转账、修改密码、挂失银行卡、注销 |
| CounterLogin | Login04 | 柜台登录信息表 | 登录、开户、开卡、销卡、开存折、销存折、查询余额、存款(活期)、存款(定期)、取现、贷款、转账、修改密码、更改银行卡信息、更改存折信息、销户 |
| UserInfo | T-User类 | 用户表 | 查询用户状态、查询用户类别 |
| BankCard | T-Card类 | 银行卡账户表 | 查询余额、查询银行卡状态、查询币种代码 |
| BankCardInfo | Settlement01 | 银行卡账户信息修改登记表 | 更改银行卡信息、销卡、修改币种代码 |
| PassBook | Settlement02 | 存折账户表 | 查询余额、查询存折状态 |
| PassBookInfo | Settlement02 | 存折账户信息修改登记表 | 更改存折信息、销存折 |
| BankCardJournal | T_Jnl类 | 银行卡账单流水表 | |
| CardCurrent | T_Current类 | 银行卡活期结息表 | 活期结息 |
| CardDeposit | T_Deposit类 | 银行卡定期存款表 | 定期存款(含续期)、提前支取 |
| CardCash | T_Cash类 | 银行卡取现表 | 取现、查询取现状态 |
| CardLoan | T_Loan类 | 银行卡贷款表 | 贷款(含续期)、正常还款、提前还款、逾期(罚息)还款 |
| CardTransfer | T_Transfer类 | 银行卡转账表 | 转账、查询转账状态、查询转账金额 |
| PassBookJournal | Settlement03 | 存折账单流水表 | |
| BookCurrent | Settlement04 | 存折活期结息表 | 活期结息 |
| BookDeposit | Settlement04 | 存折定期存款表 | 定期存款(含续期)、提前支取 |
| BookCash | Settlement04 | 存折取现表 | 取现、查询取现状态 |
分割线
(2)每一个数据表的逻辑结构及索引
以表格的形式对每一个数据表的逻辑结构及表上索引进行说明。要求列出每一个字段的名称、类型、大小、含义、约束,并在最后一行对表中的索引进行说明。索引需要给出索引的类型、字段及设计依据,设计依据简单一句话即可,主要说明为什么设计这个索引。
| 表结构 | AtmLogin | 中文说明 | ATM登录信息表 | 是否分区 | 否 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| Atm_Number | Char(19) | ATM登录编号 | not null | PK | |
| Atm_Login_Time | Date | 登录时间 | not null | ||
| BankCard_ID | Char(19) | 银行卡账号 | not null,unique | FK | |
| Atm_Quit_Time | Date | 退出时间 | not null | ||
| Atm_No | Char(7) | ATM编号 | not null | 2 位省别+5位柜台号 | |
| Atm_Operation_Type | Char(1) | 首操作类型 | not null | 1-查询余额 2-存款(活期)3-取现 4-转账 5-修改密码 | |
| Atm_Quit_Type | Char(1) | 尾操作类型 | not null | 9-吞卡0-正常退卡 |
| 表结构 | PosLogin | 中文说明 | POS登录信息表 | 是否分区 | 否 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| Pos_Number | Char(19) | POS机登录编号 | not null | PK | |
| BankCard_ID | Char(19) | 客户银行卡账号 | not null,unique | FK | |
| MERC_ID | Char(19) | 商家银行卡账号 | not null | ||
| MERC_Number | Char(10) | 第三方商户代码 | not null | ||
| Pos_Login_Time | Date | POS机登录时间 | not null | ||
| Pos_Quit_Time | Date | POS机退出时间 | not null | ||
| Pos_No | Char(10) | Pos机编号 | not null | ||
| Pos_Bal | Number(16,2) | 交易金额 | not null | ||
| Pos_State | Char(1) | 交易类型(结账) | not null | 位图索引IDX_Pos_State1:正常交易 2:被(银行)冲正交易 3:被(商户)撤销交易 | |
| Pos_Send | Char(1) | 交易状态(结账) | not null | 位图索引IDX_Pos_Send0:失败 1:成功 2:被冲正 3:被撤销,发送终止 4:发送失败 5: 发送超时 9:其他错误 | |
| Chk_Flag | Char(1) | 与商户对帐标志 | not null | 0:未对账 1:对账成功 2:银行方有对方无 3:对方有银行方无 4:关键信息不符 | |
| Chk_Date | Date | 与第三方对账日期 | not null | ||
| 位图索引IDX_Pos_State:里面三个属性有一定比例占比,不被修改经常查询,适合建立位图索引位图索引IDX_Pos_Send:各属性均有一定占比,不被修改经常查询,交易状态跟交易类型一样适合创建位图索引 |
| 表结构 | BankLogin | 中文说明 | 网络银行登录信息表 | 是否分区 | 否 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| BankLogin_Number | Char(19) | 网络银行登录编号 | not null | PK | |
| Mobile_Number | Char(11) | 网络银行登录账号(手机号) | not null,unique | 即手机号 | |
| Mobile_State | char(1) | 网络银行登录账号状态 | not null | 0-注销1-正常 | |
| BankCard_Bind | char(1) | 绑定银行卡状态 | not null | 0-未绑定1-已绑定 2-解绑(同时让银行卡账号为空) | |
| BankCard_ID | Char(19) | 银行卡账号 | not null,unique | FK | |
| Attest_State | char(1) | 实名认证状态 | not null | 0-未认证1-已认证 | |
| Paper_Type | char(2) | 证件类型 | not null | 10-居民身份证;11-临时身份证;20-军人身份证;21-士兵证;21-军官证;23-文职干部证;24-军官退休证;25-文职干部退休证;30-武警身份证;31-武警士兵证;32-警官证;33-武警文职干部证;34-武警军官退休证;35-武警文职干部退休证;40-户口簿;50-本国护照;51-外国护照;60-港澳居民往来内地通行证;61-台湾居民往来大陆通行证;70-外国人永久居留证;99-其他 | |
| Paper_ID | Date | 证件号码 | not null,unique | ||
| Bank_Login_Type | Char(1) | 登录类型 | not null | 1-网络银行登录账号密码 2-验证码3-指纹 4-人脸识别5-注册 | |
| Mobile_Pwd | Varchar2(18) | 网络银行登录账号密码 | not null | ||
| Bank_Login_State | Char(1) | 登录状态 | not null | 1-已登录 2-验证失败3-锁定账户0-未登录或超时退出 | |
| Bank_Login_Time | Date | 登录时间 | not null | ||
| Bank_Login_Remark | varchar2(200) | 登录日志 | not null |
| 表结构 | CounterLogin | 中文说明 | 柜台登录信息表 | 是否分区 | 否 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| Counter_ID | char(7) | 操作柜台代码 | not null,unique | PK,2 位省别+5 位柜台号 | |
| Counter_Login_Date | Date | 柜台登录时间 | not null | PK | |
| Counter_End_Date | Date | 柜台退出时间 | not null | ||
| Counter_Pwd | varchar2(16) | 柜台密码 | not null | ||
| Counter_Flag | char(1) | 柜台启用标志 | not null | 0-停用 1-启用(增加时为) 2-注销 | |
| Staff_Id | varchar2(8) | 柜员编号 | not null,unique | ||
| Staff_Name | varchar2(20) | 柜员姓名 | not null | ||
| Staff_Phone | char(11) | 柜员电话 | not null | ||
| Staff_State | char(1) | 柜员状态 | not null | 1-正常(签到) 3-临时签退 4-签退 | |
| Counter_Login_Remark | varchar2(200) | 柜台操作日志 | not null | 备忘录 |
| 表结构 | UserInfo | 中文说明 | 用户表 | 是否分区 | 是 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| User_ID | char(11) | 客户编号 | not null,unique | PK | |
| User_Status | char(2) | 客户状态 | not null | 位图索引IDX_User_Status00-正常 01-注销 02-黑名单 | |
| User_Level | char(1) | 客户级别 | not null | 0-黑名单 1-一星级用户2-二星级用户 3-三星级用户4-四星级用户5-五星级用户 | |
| Paper_Type | char(2) | 证件类型 | not null | 10-居民身份证;11-临时身份证;20-军人身份证;21-士兵证;20-军官证;23-文职干部证;21-军官退休证;25-文职干部退休证;30-武警身份证;31-武警士兵证;32-警官证;33-武警文职干部证;34-武警军官退休证;35-武警文职干部退休证;40-户口簿;50-本国护照;51-外国护照;60-港澳居民往来内地通行证;61-台湾居民往来大陆通行证;70-外国人永久居留证;99-其他 | |
| Paper_ID | varchar2(30) | 证件号码 | not null,unique | ||
| Paper_Due_Date | Date | 证件到期日 | not null | ||
| Paper_Valid_Flag | char(1) | 证件有效标志 | not null | 0-无效 1-有效 | |
| User_Name | varchar2(20) | 客户名称 | not null | ||
| User_Sex | Char(1) | 性别 | not null | 位图索引IDX_User_Sex0-男 1-女 | |
| User_Date | varchar2(8) | 出生年月 | not null | ||
| User_Age | Number(3) | 年龄 | not null | ||
| User_Native | varchar2(20) | 客户籍贯 | not null | ||
| User_Phone | Char(11) | 手机号 | not null,unique | ||
| User_Open_Date | varchar2(8) | 开户日期 | not null | ||
| User_Close_date | varchar2(8) | 销户日期 | not null | ||
| Staff_ID | varchar2(8) | 操户柜员 | 约束 | ||
| BankCard_ID | Char(19) | 银行卡账号 | not null,unique | ||
| PassBook_ID | Char(19) | 存折账号 | not null | ||
| 位图索引位图索引IDX_User_Sex:银行需要查询性别数据进行财务分析 |
| 表结构 | BankCard | 中文说明 | 银行卡账户表 | 是否分区 | 是 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| BankCard_ID | Char(19) | 银行卡账号 | not null,unique | PK | |
| BankCard_pwd | Char(6) | 银行卡密码 | not null | ||
| BankCard_SubID | Number(2) | 子账号 | not null | 为0表示主账户(活期)1:定期账号 2:贷款账号其他:美元,欧元,日元… | |
| Cur_Code | varchar2(3) | 币种代码 | not null | 默认:156-人民币 | |
| User_ID | Char(11) | 客户编号 | not null,unique | FK | |
| Paper_ID | varchar2(30) | 证件号码 | not null,unique | ||
| BankCard_Balance | Number(16,2) | 当前余额 | not null | ||
| BankCard_State | Char(1) | 银行卡状态 | not null | 0:正常1:主账户活期结息2:销卡3:挂失 4:睡眠5:吞卡(ATM) | |
| Card_Open_Date | varchar2(8) | 开卡日期 | not null | ||
| Card_Close_date | varchar2(8) | 销卡日期 | not null | ||
| Staff_ID | varchar2(8) | 操作柜员 | not null |
| 表结构 | BankCardJournal | 中文说明 | 银行卡账单流水表 | 是否分区 | 是 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| BankCard_ID | Char(19) | 银行卡账号 | not null,unique | PK | |
| Time_Stamp | varchar2(17) | 时间戳 | not null | 最后一次修改账户信息时的时间戳。 | |
| BankCard_SubID | Number(2) | 子账号 | not null | 为0表示主账户(活期)1:定期账号 2:贷款账号其他:美元,欧元,日元… | |
| Cur_Code | varchar2(3) | 币种代码 | not null | 默认:156-人民币 | |
| User_ID | Char(11) | 客户编号 | not null | FK | |
| Cardjnl_Bal_old | Number(16,2) | 变动前余额 | not null | ||
| Cardbal_Flag | char(2) | 余额方向 | not null | 位图索引IDX_Cardbal_Flag00-活期结息 10-定期存款 11-定期结息转活期12-定期提前支取20-贷款 21-贷款罚息22-还款30-转账 31-转账冲正(撤销)32-冻结止付(暂时停留转出方和收款方之间,银行管理)40-取现金 | |
| Cardjnl_lst | varchar2(17) | 余额变动时间 | not null | PK | |
| Cardjnl_Bal_new | Number(16,2) | 变动后余额 | not null | ||
| 位图索引IDX_Cardbal_Flag:用户经常在网络银行查询账单分类,不被修改经常查询,适合创建索引 |
| 表结构 | BankCardInfo | 中文说明 | 银行卡信息修改登记表 | 是否分区 | 否 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| BankCard_ID | Char(19) | 银行卡账号 | not null,unique | PK,FK | |
| BankCard_SubID | Number(2) | 子账号 | not null | 为0表示主账户(活期)1:定期账号 2:贷款账号其他:美元,欧元,日元… | |
| BankCard_Cd | Char(1) | 修改平台 | not null | 1-ATM 2-网络银行 3-柜台 | |
| BankCard_State | Char(1) | 银行卡状态 | not null | 0:正常1:主账户活期结息2:销卡3:挂失 4:睡眠5:吞卡(ATM) | |
| BankCard_Cd_Time | varchar2(17) | 修改时间 | not null | ||
| Field_Name | Char(2) | 修改的字段类型名称 | not null | 如10-密码其他字段:当前余额、银行卡状态、开卡日期等等… | |
| Field_Pre_Value | varchar2(60) | 修改前的值 | not null | ||
| Field_Cur_Value | varchar2(60) | 修改后的值 | not null |
| 表结构 | CardCurrent | 中文说明 | 银行卡活期结息表 | 是否分区 | 是 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| Cen_Serial_No | Char(19) | 中心流水号 | not null,unique | PK,利用日期(8位数字)和序列seq_1 (1~9999999999999)生成主键 | |
| BankCard_ID | Char(19) | 银行卡账号 | not null,unique | FK | |
| BankCard_SubID | Number(2) | 子账号 | not null | 为0表示主账户(活期)其他:美元,欧元,日元… | |
| Cur_Code | varchar2(3) | 币种代码 | not null | 默认:156-人民币 | |
| Current_Type | Char(1) | 活期结息类型 | not null | 由银行决定而不是客户0-日结息 1-季度结息 | |
| Current_Start_Date | varchar2(17) | 活期起息日期 | not null | ||
| Current_Cal_Date | varchar2(17) | 活期结息日期 | not null | ||
| BankCard_Balance | Number(16,2) | 计息金额 | not null | 计算前银行卡应计余额 | |
| Current_Day | Number(5) | 积数 | not null | 单位:天 | |
| Current_Irate | Number(3,2) | 活期利率 | not null | ||
| BankCard_Balance_Add | Number(16,2) | 应付利息 | not null | 计算后转入银行卡当前余额 |
| 表结构 | CardDeposit | 中文说明 | 银行卡定期存款表 | 是否分区 | 是 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| Cen_Serial_No | Char(19) | 中心流水号 | not null,unique | PK,利用日期(8位数字)和序列seq_1 (1~9999999999999)生成主键 | |
| BankCard_ID | Char(19) | 银行卡账号 | not null,unique | FK | |
| BankCard_SubID | number(2) | 子账号 | not null | 为0表示主账户(活期)1:定期账号 其他:美元,欧元,日元… | |
| Cur_Code | varchar2(3) | 币种代码 | not nul | 默认:156-人民币 | |
| Deposit_Type | Char(2) | 定期结息类型 | not null | 定期存款及续期存款↓01-隔日;02-1天;03-7天;04-14天;05-1个月;06-2个月;07-3个月;08-4个月;09-5个月;10-6个月;11-7个月;12-8个月;13-9个月;14-10个月;15-11个月;16-12个月;17-1年;18-2年;19-3年;20-5年;21-不定期(自定义) | |
| Deposit_Flag | Char(1) | 定期存款标志 | not null | 0-到期转存活期 (默认)1-到期续存定期 2-提前结息支取 | |
| Deposit_Start_Date | Varchar2(17) | 定期起息日期 | not null | ||
| Deposit_End_Date | Varchar2(17) | 定期到期日期 | not null | ||
| Deposit_Cal_Date | Varchar2(17) | 定期结息日期 | not null | ||
| Deposit_Bal | Number(16,2) | 存款金额 | not null | 计算前定期存款金额 | |
| Deposit_Day | Number(5) | 积数 | not null | 单位:天 | |
| Deposit_Unday | Number(5) | 违约积数 | not null | 单位:天,计算提前支取天数 | |
| Deposit_Drate | Number(3,2) | 定期利率 | not null | ||
| Deposit_Interest | Number(16,2) | 应付利息 | not null | ||
| BankCard_Balance_Add | Number(16,2) | 结息金额 | not null | 计算后需转入银行卡的金额 |
| 表结构 | CardLoan | 中文说明 | 银行卡贷款表 | 是否分区 | 是 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| Cen_Serial_No | Char(19) | 中心流水号 | not null,unique | PK,利用日期(8位数字)和序列seq_1 (1~9999999999999)生成主键 | |
| BankCard_ID | Char(19) | 银行卡账号 | not null,unique | FK | |
| BankCard_SubID | Number(2) | 子账号 | not null | 为0表示主账户(活期)2:贷款账号其他:美元,欧元,日元… | |
| Cur_Code | varchar2(3) | 币种代码 | not null | 默认:156-人民币 | |
| Loan_type | Char(2) | 贷款类型 | not null | 贷款期限及续期↓01-隔日;02-1天;03-7天;04-14天;05-1个月;06-2个月;07-3个月;08-4个月;09-5个月;10-6个月;11-7个月;12-8个月;13-9个月;14-10个月;15-11个月;16-12个月;17-1年;18-2年;19-3年;20-5年;21-不定期(自定义)55-贷款逾期 | |
| Loan_Flag | Char(1) | 还款标志 | not null | 0-正常还款 (默认)1-提前还款2-续期贷款3-贷款逾期,无法还款 | |
| Loan_Start_Date | Varchar2(17) | 贷款起息日期 | not null | ||
| Loan_End_Date | Varchar2(17) | 贷款到期日期 | not null | ||
| Loan_Cal_Date | Varchar2(17) | 贷款结息日期 | not null | ||
| Loan_Bal | Number(16,2) | 贷款金额 | not null | 计算前贷款金额 | |
| Loan_Day | Number(5) | 积数 | not null | 单位:天 | |
| Loan_Unday | Number(5) | 不计息积数 | not null | 单位:天,计算提前还款天数 | |
| Loan_Lrate | Number(3,2) | 贷款利率 | not null | ||
| Loan_Plusrate | Number(3,2) | 罚息利率 | not null | ||
| Loan_Plusday | Number(5) | 罚息积数 | not null | 单位:天 | |
| Loan_Interest | Number(16,2) | 应收利息 | not null | ||
| BankCard_Balance_Sub | Number(16,2) | 结息金额 | not null | 计算后需扣除银行卡的金额 |
| 表结构 | CardTransfer | 中文说明 | 银行卡转账表 | 是否分区 | 是 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| Cen_Serial_No | Char(19) | 中心流水号 | not null,unique | PK,利用日期(8位数字)和序列seq_1 (1~9999999999999)生成主键 | |
| Card_Send_ID | Char(19) | 转出方银行卡账号 | not null,unique | FK | |
| Card_Send_SubID | number(2) | 转出方银行卡子账号 | not null | 为0表示主账户(活期)1:定期账号 2:贷款账号其他:美元,欧元,日元… | |
| Cur_Code | varchar2(3) | 币种代码 | not null | 默认:156-人民币 | |
| CardTransfer_Cd | Char(1) | 操作平台 | not null | 位图索引IDX_CardTransfer_Cd1-ATM 2-网络银行 3-柜台4-pos机 | |
| CardTransfer_Cd_Time | varchar2(17) | 转账时间 | not null | ||
| Card_Return_ID | Char(19) | 转入方银行卡账号 | not null,unique | FK | |
| Card_Return_SubID | number(2) | 转入方银行卡子账号 | not null | 为0表示主账户(活期)1:定期账号 2:贷款账号其他:美元,欧元,日元… | |
| CardTransfer_Bal | number(16,2) | 转账金额 | not null | ||
| CardTransfer_Flag | Char(2) | 转账状态 | not null | ATM :11-成功 12-冻结止付 13-失败网络银行:21-成功 22-冻结止付 21-失败24-冲正柜台:31-成功 32-冻结止付 33-失败34-冲正Pos机:41-成功 42-冻结止付 43-失败44-冲正 | |
| 位图索引IDX_CardTransfer_Cd:银行和用户需要查询某次转账渠道,不被修改且经常查询 |
| 表结构 | CardCash | 中文说明 | 银行卡取现表 | 是否分区 | 是 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| Cen_Serial_No | Char(19) | 中心流水号 | not null,unique | PK,利用日期(8位数字)和序列seq_1 (1~9999999999999)生成主键 | |
| BankCard_ID | Char(19) | 银行卡账号 | not null,unique | FK | |
| BankCard_SubID | number(2) | 子账号 | not null | 为0表示主账户(活期)1:定期账号 2:贷款账号其他:美元,欧元,日元… | |
| Cur_Code | varchar2(3) | 币种代码 | not null | 默认:156-人民币 | |
| CardCash_cd | Char(1) | 操作平台 | not null | 1-ATM 3-柜台 | |
| CardCash_cd_time | varchar2(17) | 取现时间 | not null | ||
| CardCash_Bal | number(16,2) | 取现金额 | not null | ||
| CardCash_State | Char(2) | 取现状态 | not null | ATM :11-成功 13-失败柜台:31-成功 32-超额取现33-失败 | |
| CardCash_Reason | varchar2(200) | 取现原因 | not null | B树索引IDX_CardCash_Reason取现超5万RMB需登记原因 | |
| B树索引IDX_CardCash_Reason:创建B树索引,银行经常需要追查部分大额取现原因的数据 |
| 表结构 | PassBook | 中文说明 | 存折账户表 | 是否分区 | 否 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| PassBook_ID | Char(19) | 存折账号 | not null,unique | PK | |
| PassBook_pwd | Char(6) | 存折密码 | not null,unique | ||
| PassBook_Type | CHAR(1) | 存折种类 | not null,unique | 1-定期一本通 2-定活一本通 | |
| BankCard_SubID | Number(2) | 子账号 | not null | 为0表示主账户(活期)1:定期账号其他:美元,欧元,日元… | |
| Cur_Code | varchar2(3) | 币种代码 | not null | 默认:156-人民币 | |
| User_ID | Char(11) | 客户编号 | not null,unique | FK | |
| Paper_ID | varchar2(30) | 证件号码 | not null,unique | ||
| PassBook_Balance | Number(16,2) | 存折当前余额 | not null | ||
| PassBook_State | Char(1) | 存折状态 | not null | 0:正常1:主账户活期结息2:销存折3:挂失 4:睡眠 | |
| Open_Date | varchar2(8) | 开卡日期 | not null | ||
| Close_date | varchar2(8) | 销卡日期 | not null | ||
| Staff_ID | varchar2(8) | 操作柜员 | not null |
| 表结构 | PassBookJournal | 中文说明 | 存折账单流水表 | 是否分区 | 否 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| PassBook_ID | Char(19) | 存折账号 | not null,unique | PK | |
| Time_Stamp | varchar2(17) | 时间戳 | not null,unique | 最后一次修改账户信息时的时间戳。 | |
| PassBook_Type | CHAR(1) | 存折种类 | not null,unique | 1-定期一本通 2-定活一本通 | |
| BankCard_SubID | Number(2) | 子账号 | not null | 为0表示主账户(活期)1:定期账号其他:美元,欧元,日元… | |
| Cur_Code | varchar2(3) | 币种代码 | not null | 默认:156-人民币 | |
| User_ID | Char(11) | 客户编号 | not null,unique | FK | |
| Bookjnl_Bal_old | Number(16,2) | 变动前余额 | not null | ||
| Bookbal_Flag | char(2) | 余额方向 | not null | 00-活期结息 10-定期存款 11-定期结息转活期12-定期提前支取40-取现金 | |
| Book_lst | varchar2(17) | 余额变动时间 | not null | PK | |
| Bookjnl_Bal_new | Number(16,2) | 变动后余额 | not null |
| 表结构 | PassBookInfo | 中文说明 | 存折账户信息修改登记表 | 是否分区 | 否 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| PassBook_Number | Char(14) | 存折账号 | not null,unique | PK,FK | |
| PassBook_Type | CHAR(1) | 存折种类 | not null | 1-定期一本通 2-定活一本通 | |
| User_id | CHAR(11) | 客户编号 | not null,unique | ||
| User_Name | varchar2(20) | 客户名称 | not null | ||
| Book_Open_Date | varchar2(8) | 开存折日期 | not null | ||
| Book_Close_date | varchar2(8) | 销存折日期 | not null | ||
| Staff_ID | varchar2(8) | 操作柜员 | not null | ||
| PassBook_State | Char(1) | 存折状态 | not null | 0:正常1:主账户活期结息2:销存折3:挂失 4:睡眠 | |
| Field_Name | Char(2) | 修改的字段类型名称 | not null | 如10-密码其他字段:当前余额、存折状态、开存折日期等等… | |
| Field_Pre_Value | varchar2(60) | 修改前的值 | not null | ||
| Field_Cur_Value | varchar2(60) | 修改后的值 | not null |
| 表结构 | BookCurrent | 中文说明 | 存折活期结息表 | 是否分区 | 否 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| PassBook_ID | Char(19) | 存折账号 | not null,unique | PK | |
| PassBook_SubID | Number(2) | 子账号 | not null | 为0表示主账户(活期)其他:美元,欧元,日元… | |
| Cur_Code | varchar2(3) | 币种代码 | not null,unique | 默认:156-人民币 | |
| Current_Type | Char(1) | 活期结息类型 | not null | 0-日结息 1-季度结息 | |
| Current_Start_Date | varchar2(17) | 活期起息日期 | not null | ||
| Current_Cal_Date | varchar2(17) | 活期结息日期 | not null | ||
| PassBook_Balance | Number(16,2) | 计息金额 | not null | 计算前存折应计余额 | |
| Current_Day | Number(5) | 积数 | not null | 单位:天 | |
| Current_Irate | Number(3,2) | 活期利率 | not null | ||
| PassBook_Balance_Add | Number(16,2) | 应付利息 | not null | 计算后转入存折当前余额 |
| 表结构 | BookDeposit | 中文说明 | 存折定期存款表 | 是否分区 | 否 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| PassBook_ID | Char(19) | 存折账号 | not null,unique | PK | |
| PassBook_SubID | number(2) | 子账号 | not null | 为0表示主账户(活期)1:定期账号 其他:美元,欧元,日元… | |
| Cur_Code | varchar2(3) | 币种代码 | not null | 默认:156-人民币 | |
| Deposit_Type | Char(2) | 定期结息类型 | not null | 定期存款及续期存款↓01-隔日;02-1天;03-7天;04-14天;05-1个月;06-2个月;07-3个月;08-4个月;09-5个月;10-6个月;11-7个月;12-8个月;13-9个月;14-10个月;15-11个月;16-12个月;17-1年;18-2年;19-3年;20-5年;21-不定期(自定义) | |
| Deposit_Flag | Char(1) | 定期存款标志 | not null | 0-到期转存活期 1-到期续存定期 2-提前结息支取 | |
| Deposit_Start_Date | Varchar2(17) | 定期起息日期 | not null | ||
| Deposit_End_Date | Varchar2(17) | 定期到期日期 | not null | ||
| Deposit_Cal_Date | Varchar2(17) | 定期结息日期 | not null | ||
| Deposit_Bal | Number(16,2) | 存款金额 | not null | 计算前定期存款金额 | |
| Deposit_Day | Number(5) | 积数 | not null | 单位:天 | |
| Deposit_Unday | Number(5) | 违约积数 | not null | 单位:天,计算提前支取天数 | |
| Deposit_Drate | Number(3,2) | 定期利率 | not null | ||
| Deposit_Interest | Number(16,2) | 应付利息 | not null | ||
| PassBook_Balance_Add | Number(16,2) | 结息金额 | not null | 计算后需转入存折的金额 |
| 表结构 | BookCash | 中文说明 | 存折取现表 | 是否分区 | 否 |
|---|---|---|---|---|---|
| 字段名称 | 数据类型 | 含义 | 约束 | 备注 | |
| PassBook_ID | Char(19) | 存折账号 | not null,unique | PK | |
| PassBook_SubID | number(2) | 子账号 | not null | 为0表示主账户(活期)1:定期账号其他:美元,欧元,日元… | |
| Cur_Code | varchar2(3) | 币种代码 | not null | 默认:156-人民币 | |
| BookCash_cd | Char(1) | 操作平台 | not null | 1-ATM 3-柜台 | |
| BookCash_cd_time | varchar2(17) | 取现时间 | not null | ||
| BookCash_Bal | number(16,2) | 取现金额 | not null | ||
| BookCash_State | Char(2) | 取现状态 | not null | ATM :11-成功 13-失败柜台:31-成功 32-超额取现33-失败 | |
| BookCash_Reason | varchar2(200) | 取现原因 | not null | B树索引IDX_BookCash_Reason取现超5万RMB需登记原因 | |
| B树索引IDX_BookCash_Reason:创建B树索引,银行经常需要追查部分大额取现原因的数据 |
分割线
(3)分区表设计及索引,分区表必选给出分区字段、类型和数量
对于分区表,需要单独设计。表的分区信息包括分区类型、分区字段、每个分区的信息(分区名称、分区的数据范围、存储表空间)。如果索引也需要分区,则需要表明索引分区的存储表空间。
| 被分区的表名称 | 分区类型 | 范围分区 | 分区字段 | User_Open_Date(开户日期) |
|---|---|---|---|---|
| UserInfo(用户表) | 分区名称 | 分区的数据范围 | 存储表空间 | ← |
| ↑(带箭头合并表格,md无法合并) | User01 | less than(20000101) | T_User01 | ← |
| ↑ | User02 | less than(20100101) | T_User02 | ← |
| ↑ | User03 | less than(20200101) | T_User03 | ← |
| ↑ | User04 | less than(20300101) | T_User04 | ← |
| 被分区的表名称 | 分区类型 | 范围分区 | 分区字段 | Card_Open_Date(开卡日期) |
|---|---|---|---|---|
| BankCard(银行卡账户表) | 分区名称 | 分区的数据范围 | 存储表空间 | |
| Card01 | less than(20000101) | T_Card01 | ||
| Card02 | less than(20100101) | T_Card02 | ||
| Card03 | less than(20200101) | T_Card03 | ||
| Card03 | less than(20300101) | T_Card04 |
| 被分区的表名称 | 分区类型 | 范围分区 | 分区字段 | Cardjnl_lst(余额变动时间) |
|---|---|---|---|---|
| BankCardJournal(银行卡账单流水表) | 分区名称 | 分区的数据范围 | 存储表空间 | |
| Journal01 | less than(20150101) | T_Jnl01 | ||
| Journal02 | less than(20160101) | T_Jnl02 | ||
| Journal03 | less than(20170101) | T_Jnl03 | ||
| Journal04 | less than(20180101) | T_Jnl04 | ||
| Journal05 | less than(20190101) | T_Jnl05 | ||
| Journal06 | less than(20200101) | T_Jnl06 | ||
| Journal07 | less than(20210101) | T_Jnl07 | ||
| Journal08 | less than(20220101) | T_Jnl08 | ||
| Journal09 | less than(20230101) | T_Jnl09 |
| 被分区的表名称 | 分区类型 | 范围分区 | 分区字段 | Current_Start_Date(活期起息日期) |
|---|---|---|---|---|
| CardCurrent(银行卡活期结息表) | 分区名称 | 分区的数据范围 | 存储表空间 | |
| Current01 | less than(20000101) | T_Current01 | ||
| Current02 | less than(20100101) | T_Current02 | ||
| Current03 | less than(20200101) | T_Current03 | ||
| Current04 | less than(20300101) | T_Current04 |
| 被分区的表名称 | 分区类型 | 范围分区 | 分区字段 | Deposit_Start_Date(定期起息日期) |
|---|---|---|---|---|
| CardDeposit(银行卡定期存款表) | 分区名称 | 分区的数据范围 | 存储表空间 | |
| Deposit01 | less than(20000101) | T_Deposit01 | ||
| Deposit02 | less than(20100101) | T_Deposit02 | ||
| Deposit03 | less than(20200101) | T_Deposit03 | ||
| Deposit04 | less than(20300101) | T_Deposit04 |
| 被分区的表名称 | 分区类型 | 范围分区 | 分区字段 | Loan_Bal(贷款金额) |
|---|---|---|---|---|
| CardLoan(银行卡贷款表) | 分区名称 | 分区的数据范围 | 存储表空间 | |
| Loan01 | less than(10000) | T_Loan01 | ||
| Loan02 | less than(100000) | T_Loan02 | ||
| Loan03 | less than(500000) | T_Loan03 | ||
| Loan04 | less than(9999999999999999) | T_Loan04 |
| 被分区的表名称 | 分区类型 | 范围分区 | 分区字段 | CardTransfer_Cd_Time(转账时间) |
|---|---|---|---|---|
| CardTransfer(银行卡转账表) | 分区名称 | 分区的数据范围 | 存储表空间 | |
| Transfer01 | less than(20150101) | T_Transfer01 | ||
| Transfer02 | less than(20160101) | T_Transfer02 | ||
| Transfer03 | less than(20170101) | T_Transfer03 | ||
| Transfer04 | less than(20180101) | T_Transfer04 | ||
| Transfer05 | less than(20190101) | T_Transfer05 | ||
| Transfer06 | less than(20200101) | T_Transfer06 | ||
| Transfer07 | less than(20210101) | T_Transfer07 | ||
| Transfer08 | less than(20220101) | T_Transfer08 | ||
| Transfer09 | less than(20230101) | T_Transfer09 |
| 被分区的表名称 | 分区类型 | 范围分区 | 分区字段 | CardCash_Bal(取现金额) |
|---|---|---|---|---|
| CardCash(银行卡取现表) | 分区名称 | 分区的数据范围 | 存储表空间 | |
| Cash01 | less than(1000) | T_Cash01 | ||
| Cash02 | less than(50000) | T_Cash02 | ||
| Cash03 | less than(1000000) | T_Cash03 | ||
| Cash03 | less than(9999999999999999) | T_Cash04 |
分割线
3、数据库物理存储设计
数据库中的数据最终要以文件形式进行存储,因此要重点设计数据库物理存储方案。可以进行存储设备的选择,并设计设备的布置方案,尤其是硬盘的布置方案。
(1)表空间及数据文件设计
以列表的形式,展示每一个表空间的数据文件信息。主要包括文件名称、所在磁盘、文件大小、增长性等。
| 表空间 | 文件名称 | 文件大小 | 增长性 | 所在磁盘位置 |
|---|---|---|---|---|
| Login01 | AtmLogin.dbf | 500G | 512M | 06 磁盘/D:/ |
| Login02 | PosLogin.dbf | 500G | 512M | 07磁盘/D:/ |
| Login03 | BankLogin.dbf | 500G | 512M | 08磁盘/D:/ |
| Login04 | CounterLogin.dbf | 500G | 512M | 09磁盘/D:/ |
| Settlement01 | BankCardInfo.dbf | 200G | 128M | 10磁盘/D:/ |
| Settlement02 | PassBook.dbf | 100G | 32M | 11磁盘/D:/ |
| PassBookInfo.dbf | 10G | 8M | 11磁盘/F:/ | |
| Settlement03 | PassBookJournal.dbf | 500G | 1G | 12磁盘/D:/ |
| Settlement04 | BookCurrent.dbf | 100G | 32M | 13磁盘/D:/ |
| BookDeposit.dbf | 200G | 128M | 13磁盘/F:/ | |
| BookCash.dbf | 100G | 32M | 13磁盘/E:/ | |
| T_User01 | UserInfo_01.dbf | 1T | 1G | 14磁盘/D:/UserInfo_01.dbf |
| T_User02 | UserInfo_02.dbf | 1T | 1G | 14磁盘/E:/UserInfo_02.dbf |
| T_User03 | UserInfo_03.dbf | 1T | 1G | 14磁盘/F:/UserInfo_03.dbf |
| T_User04 | UserInfo_04.dbf | 1T | 1G | 14磁盘/G:/UserInfo_04.dbf |
| T_Card01 | BankCard_01.dbf | 1T | 1G | 15磁盘/D:/BankCard_01.dbf |
| T_Card02 | BankCard_02.dbf | 1T | 1G | 15磁盘/E:/BankCard_02.dbf |
| T_Card03 | BankCard_03.dbf | 1T | 1G | 15磁盘/F:/BankCard_03.dbf |
| T_Card04 | BankCard_04.dbf | 1T | 1G | 15磁盘/G:/BankCard_04.dbf |
| T_Jnl01 | BankCardJournal_01.dbf | 500G | 512M | 16磁盘/D:/BankCardJournal_01.dbf |
| T_Jnl02 | BankCardJournal_02.dbf | 500G | 512M | 16磁盘/E:/BankCardJournal_02.dbf |
| T_Jnl03 | BankCardJournal_03.dbf | 500G | 512M | 16磁盘/F:/BankCardJournal_03.dbf |
| T_Jnl04 | BankCardJournal_04.dbf | 500G | 512M | 17磁盘/D:/BankCardJournal_04.dbf |
| T_Jnl05 | BankCardJournal_05.dbf | 500G | 512M | 17磁盘/E:/BankCardJournal_05.dbf |
| T_Jnl06 | BankCardJournal_06.dbf | 500G | 512M | 17磁盘/F:/BankCardJournal_06.dbf |
| T_Jnl07 | BankCardJournal_07.dbf | 500G | 512M | 18磁盘/D:/BankCardJournal_07.dbf |
| T_Jnl08 | BankCardJournal_08.dbf | 500G | 512M | 18磁盘/E:/BankCardJournal_08.dbf |
| T_Jnl09 | BankCardJournal_09.dbf | 500G | 512M | 18磁盘/F:/BankCardJournal_09.dbf |
| T_Current01 | CardCurrent_01.dbf | 1T | 1G | 19磁盘/D:/CardCurrent_01.dbf |
| T_Current02 | CardCurrent_02.dbf | 1T | 1G | 19磁盘/E:/CardCurrent_02.dbf |
| T_Current03 | CardCurrent_03.dbf | 1T | 1G | 19磁盘/F:/CardCurrent_03.dbf |
| T_Current04 | CardCurrent_04.dbf | 1T | 1G | 19磁盘/G:/CardCurrent_04.dbf |
| T_Deposit01 | CardDeposit_01.dbf | 1T | 1G | 20磁盘/D:/CardDeposit_01.dbf |
| T_Deposit02 | CardDeposit_02.dbf | 1T | 1G | 20磁盘/E:/CardDeposit_02.dbf |
| T_Deposit03 | CardDeposit_03.dbf | 1T | 1G | 20磁盘/F:/CardDeposit_03.dbf |
| T_Deposit04 | CardDeposit_04.dbf | 1T | 1G | 20磁盘/G:/CardDeposit_04.dbf |
| T_Loan01 | CardLoan_01.dbf | 1T | 1G | 21磁盘/D:/CardLoan_01.dbf |
| T_Loan02 | CardLoan_02.dbf | 1T | 1G | 21磁盘/E:/CardLoan_02.dbf |
| T_Loan03 | CardLoan_03.dbf | 1T | 1G | 21磁盘/F:/CardLoan_03.dbf |
| T_Loan04 | CardLoan_04.dbf | 1T | 1G | 21磁盘/G:/CardLoan_04.dbf |
| T_Transfer01 | CardTransfer_01.dbf | 500G | 512M | 22磁盘/D:/CardTransfer_01.dbf |
| T_Transfer02 | CardTransfer_02.dbf | 500G | 512M | 22磁盘/F:/CardTransfer_02.dbf |
| T_Transfer03 | CardTransfer_03.dbf | 500G | 512M | 22磁盘/E:/CardTransfer_03.dbf |
| T_Transfer04 | CardTransfer_04.dbf | 500G | 512M | 23磁盘/D:/CardTransfer_04.dbf |
| T_Transfer05 | CardTransfer_05.dbf | 500G | 512M | 23磁盘/F:/CardTransfer_05.dbf |
| T_Transfer06 | CardTransfer_06.dbf | 500G | 512M | 23磁盘/E:/CardTransfer_06.dbf |
| T_Transfer07 | CardTransfer_07.dbf | 500G | 512M | 24磁盘/D:/CardTransfer_07.dbf |
| T_Transfer08 | CardTransfer_08.dbf | 500G | 512M | 24磁盘/F:/CardTransfer_08.dbf |
| T_Transfer09 | CardTransfer_09.dbf | 500G | 512M | 24磁盘/E:/CardTransfer_09.dbf |
| T_Cash01 | CardCash_01.dbf | 1T | 1G | 25磁盘/D:/CardCash_01.dbf |
| T_Cash02 | CardCash_02.dbf | 1T | 1G | 25磁盘/E:/CardCash_02.dbf |
| T_Cash03 | CardCash_03.dbf | 1T | 1G | 25磁盘/F:/CardCash_03.dbf |
| T_Cash04 | CardCash_04.dbf | 1T | 1G | 25磁盘/G:/CardCash_04.dbf |
分割线
(2)表空间的表存储设计
数据表和索引需要存储在表空间中,以列表形式,将每个表空间中所存储的表、分区及索引信息进行呈现。
| 表空间 | 所存储的表/分区名称 | 索引名称 | 索引包含字段 | 索引信息 |
|---|---|---|---|---|
| Login01 | AtmLogin | IDX_AtmLogin_1 | BankCard_ID | 唯一性索引 |
| Login02 | PosLogin | IDX_PosLogin_1 | BankCard_ID | 唯一性索引 |
| ↑(合并) | ↑(合并) | IDX_Pos_State | Pos_State | 位图索引,里面三个属性有一定比例占比,不被修改经常查询,适合建立位图索引 |
| ↑ | ↑ | IDX_Pos_Send | Pos_Send | 位图索引,各属性均有一定占比,不被修改经常查询,交易状态跟交易类型一样适合创建位图索引 |
| Login03 | BankLogin | IDX_BankLogin_1 | Mobile_Number、Paper_ID、BankCard_ID | 唯一性索引 |
| Login04 | CounterLogin | IDX_CounterLogin_1 | Counter_ID、Staff_Id | 唯一性索引 |
| Settlement01 | BankCardInfo | |||
| Settlement02 | PassBook | IDX_PassBook_1 | User_ID、Paper_ID | 唯一性索引 |
| ↑(合并) | PassBookInfo | IDX_PassBookInfo_1 | User_ID | 唯一性索引 |
| Settlement03 | PassBookJournal | IDX_PassBookJournal_1 | Time_Stamp、User_ID | 唯一性索引 |
| Settlement04 | BookCurrent | |||
| ↑(合并) | BookDeposit | |||
| ↑ | BookCash | IDX_BookCash_Reason | BookCash_Reason | B树索引,取现超5万RMB需登记原因银行经常需要追查部分大额取现原因的数据 |
| T_User01 | UserInfo分区名称User01、User02、User03、User04 | IDX_UserInfo_1 | Paper_ID、User_Phone、BankCard_ID | 唯一性索引 |
| T_User02 | ↑(合并) | ↑(合并) | ↑(合并) | ↑(合并) |
| T_User03 | ↑ | ↑ | ↑ | ↑ |
| T_User04 | ↑ | IDX_User_Sex | User_Sex | 位图索引,银行需要查询性别数据进行财务分析 |
| T_Card01 | BankCard分区名称Card01、Card02、Card03、Card04 | IDX_BankCard_1 | Paper_ID、BankCard_ID | 唯一性索引 |
| T_Card02 | ↑(合并) | ↑(合并) | ↑(合并) | ↑(合并) |
| T_Card03 | ↑ | ↑ | ↑ | ↑ |
| T_Card04 | ↑ | ↑ | ↑ | ↑ |
| T_Jnl01 | BankCardJournal分区名称Journal01、Journal02、Journal03、Journal04、Journal05、Journal06、Journal07、Journal08、Journal09 | IDX_Cardbal_Flag | Cardbal_Flag | 位图索引,用户经常在网络银行查询账单分类,不被修改经常查询,适合创建索引 |
| T_Jnl02 | ↑(合并) | ↑(合并) | ↑(合并) | ↑(合并) |
| T_Jnl03 | ↑ | ↑ | ↑ | ↑ |
| T_Jnl04 | ↑ | ↑ | ↑ | ↑ |
| T_Jnl05 | ↑ | ↑ | ↑ | ↑ |
| T_Jnl06 | ↑ | ↑ | ↑ | ↑ |
| T_Jnl07 | ↑ | ↑ | ↑ | ↑ |
| T_Jnl08 | ↑ | ↑ | ↑ | ↑ |
| T_Jnl09 | ↑ | ↑ | ↑ | ↑ |
| T_Current01 | CardCurrent分区名称Current01、Current02、Current03、Current04 | IDX_CardCurrent_1 | BankCard_ID | 唯一性索引 |
| T_Current02 | ↑(合并) | ↑(合并) | ↑(合并) | ↑(合并) |
| T_Current03 | ↑ | ↑ | ↑ | ↑ |
| T_Current04 | ↑ | ↑ | ↑ | ↑ |
| T_Deposit01 | CardDeposit分区名称Deposit01、Deposit02、Deposit03、Deposit04 | IDX_CardDeposit_1 | BankCard_ID | 唯一性索引 |
| T_Deposit02 | ↑(合并) | ↑(合并) | ↑(合并) | ↑(合并) |
| T_Deposit03 | ↑ | ↑ | ↑ | ↑ |
| T_Deposit04 | ↑ | ↑ | ↑ | ↑ |
| T_Loan01 | CardLoan分区名称Loan01、Loan02、Loan03、Loan04 | IDX_CardLoan_1 | BankCard_ID | 唯一性索引 |
| T_Loan02 | ↑(合并) | ↑(合并) | ↑(合并) | ↑(合并) |
| T_Loan03 | ↑ | ↑ | ↑ | ↑ |
| T_Loan04 | ↑ | ↑ | ↑ | ↑ |
| T_Transfer01 | CardTransfer分区名称Transfer01、Transfer02、Transfer03、Transfer04、Transfer05、Transfer06、Transfer07、Transfer08、Transfer09 | IDX_CardTransfer_1 | Card_Send_ID、Card_Return_ID | 唯一性索引 |
| T_Transfer02 | ↑(合并) | IDX_CardTransfer_Cd | CardTransfer_Cd | 位图索引,银行和用户需要查询某次转账渠道,不被修改且经常查询 |
| T_Transfer03 | ↑ | ↑(合并) | ↑(合并) | ↑(合并) |
| T_Transfer04 | ↑ | ↑ | ↑ | ↑ |
| T_Transfer05 | ↑ | ↑ | ↑ | ↑ |
| T_Transfer06 | ↑ | ↑ | ↑ | ↑ |
| T_Transfer07 | ↑ | ↑ | ↑ | ↑ |
| T_Transfer08 | ↑ | ↑ | ↑ | ↑ |
| T_Transfer09 | ↑ | ↑ | ↑ | ↑ |
| T_Cash01 | CardCash分区名称Cash01、Cash02、Cash03、Cash04 | IDX_CardCash_1 | BankCard_ID | 唯一性索引 |
| T_Cash02 | ↑(合并) | IDX_CardCash_Reason | CardCash_Reason | B树索引,取现超5万RMB需登记原因,银行经常需要追查部分大额取现原因的数据 |
| T_Cash03 | ↑ | ↑(合并) | ↑(合并) | ↑(合并) |
| T_Cash04 | ↑ | ↑ | ↑ | ↑ |
分割线
(3)重做日志文件管理设计
重做日志文件组及文件成员设计、数据库归档目标设计。
| 重做日志文件组名字 | 重组日志文件名称 | 大小 | 位置 | 是否归档 | 归档目标 |
|---|---|---|---|---|---|
| Group01 | Redo11.log | 512MB | 01磁盘/D:/Redo/ | 是 | 3个,1:本地强制归档(01磁盘D:\BACKUP\ARCHIVE)2:本地默认归档(01磁盘E:\BACKUP\ARCHIVE)3:网络默认归档(异地数据中心服务器) |
| Redo12.log | 512MB | 01磁盘/E:/Redo/ | 是 | ||
| Redo13.log | 512MB | 01磁盘/F:/Redo/ | 是 | ||
| Group02 | Redo21.log | 1G | 02磁盘/D:/Redo/ | 是 | 3个,1:本地强制归档(02磁盘D:\BACKUP\ARCHIVE)2:本地默认归档(02磁盘E:\BACKUP\ARCHIVE)3:网络默认归档(异地数据中心服务器) |
| Redo22.log | 1G | 02磁盘/E:/Redo/ | 是 | ||
| Redo23.log | 1G | 02磁盘/F:/Redo/ | 是 | ||
| Group03 | Redo31.log | 2G | 03磁盘/D:/Redo/ | 是 | 3个,1:本地强制归档(03磁盘D:\BACKUP\ARCHIVE)2:本地默认归档(03磁盘E:\BACKUP\ARCHIVE)3:网络默认归档(异地数据中心服务器) |
| Redo32.log | 2G | 03磁盘/E:/Redo/ | 是 | ||
| Redo33.log | 2G | 03磁盘/F:/Redo/ | 是 | ||
| Group04 | Redo41.log | 100MB | 04磁盘/D:/Redo/ | 是 | 3个,1:本地强制归档(04磁盘D:\BACKUP\ARCHIVE)2:本地默认归档(04磁盘E:\BACKUP\ARCHIVE)3:网络默认归档(异地数据中心服务器) |
| Redo42.log | 100MB | 04磁盘/E:/Redo/ | 是 | ||
| Redo43.log | 100MB | 04磁盘/F:/Redo/ | 是 | ||
| Group05 | Redo51.log | 700MB | 05磁盘/D:/Redo/ | 是 | 3个,1:本地强制归档(05磁盘D:\BACKUP\ARCHIVE)2:本地默认归档(05磁盘E:\BACKUP\ARCHIVE)3:网络默认归档(异地数据中心服务器) |
| Redo52.log | 700MB | 05磁盘/E:/Redo/ | 是 | ||
| Redo53.log | 700MB | 05磁盘/F:/Redo/ | 是 |
分割线
4、数据库访问控制设计
(1)用户及模式
设计每一个用户(模式)名称,依据该模式中的表对象。以表格形式呈现。
| 用户(模式)名称 | 设计原因或用处 | 表对象 |
|---|---|---|
| sys | 系统自带,是数据库中具有最高权限的管理员 | 全部表 |
| system | 系统自带,是一个辅助的数据库管理员,不能启动和关闭数据库 | 全部表 |
| hr | 系统自带,测试网络连接 | hr表 |
| Manager_user | 由数据库管理员担任,负责管理同级普通用户和下一级用户管理员。 | 全部表 |
| Report_user | 由数据上报员或程序员担任,负责报文预处理;报文报送; | 全部表 |
| Staff_user | 由普通柜员担任,负责查询,插入,修改客户信息 | CounterLogin、UserInfo、BankCard、BankCardInfo、PassBook、PassBookInfo、BankCardJournal、CardCurrent、CardDeposit、CardCash、CardLoan、CardTransfer、PassBookJournal、BookCurrent、BookDeposit、BookCash |
| Public | 由普通客户担任 | BankLogin、UserInfo、BankCard、BankCardJournal |
分割线
(2)配额
设计每一个用户在每一个表空间上的配额。以表格形式呈现。
| 用户(模式)名称 | 表空间 | 配额 |
|---|---|---|
| sys | sys及全部数据表空间 | 不受限制 |
| system | system及全部数据表空间 | 不受限制 |
| hr | hr | 全部表空间配额128M |
| Manager_user | users(默认) | 数据表空间不受限制 |
| Report_user | users(默认) | 数据表空间基本配额5G |
| Staff_user | users(默认) | 128M |
| ↑(合并) | Login04 | 32M |
| ↑ | Settlement01 | 128M |
| ↑ | Settlement02 | 16M |
| ↑ | Settlement03 | 32M |
| ↑ | Settlement04 | 16M |
| ↑ | T-User类 | 512M |
| ↑ | T-Card类 | 512M |
| ↑ | T_Jnl类 | 512M |
| ↑ | T_Current类 | 128M |
| ↑ | T_Cash类 | 128M |
| ↑ | T_Deposit类 | 128M |
| ↑ | T_Loan类 | 128M |
| ↑ | T_Transfer类 | 512M |
| Public | users(默认) | 40M |
| ↑(合并) | Login03 | 24M |
| ↑ | T-User类 | 2M |
| ↑ | T-Card类 | 2M |
| ↑ | T_Jnl类 | 16M |
分割线
(3)权限
设计每一个用户的主要权限。用户对自己模式中对象具有全部权限,不要重复说明,主要说明用户对其他模式
| 用户(模式)名称 | 密码 | 权限 |
|---|---|---|
| sys | Gdufnow888 | 可以启动、修改、关闭数据库,拥有数据字典 |
| system | Gdufemanager | 创建用户、删除用户 |
| hr | Gdufjustsoso | 测试网络连接 |
| Manager_user | Huananjrongdaxue | DBA权限,可以执行系统级的DDL,可以创建、修改、删除其他类型用户 |
| Report_user | Guangdongjrongdaxue | 系统权限:被Manager_user授予create session、 create table、 create view权限对象权限:ALL |
| Staff_user | Shiyanbaogaoer | 系统权限:被Report_user授予create session权限对象权限:SELECT、EXECUTE |
| public | 自定义 | 系统权限:被Report_user授予create session权限对象权限:SELECT |
分割线
5、数据库灾备方案设计
(1)备份方案设计
备份方案要具体且详细,要包括时间、备份内容、备份类型、备份包存储、失效时间等。以表格形式呈现。
| 表名 | 备份时间(频率) | 备份方式 | 失效时间 | 备份目的地 |
|---|---|---|---|---|
| 全部数据表空间 | 3/18 2:00,6/17 2:009/15 2:00,12/17 2:00 | RMAN完全备份 | 8个月 | 各磁盘、catalog库 |
| 全部数据表空间 | 每年不定期挑一天 | 热备份 | 略 | 略 |
| AtmLogin | 每周周六22:45 | 累积增量备份 | 10天 | 30磁盘/D:/backup30磁盘/E:/backup30磁盘/F:/backup |
| PosLogin | 每周周六23:30 | 累积增量备份 | 10天 | 31磁盘/D:/backup31磁盘/E:/backup31磁盘/F:/backup |
| BankLogin | 每周周六23:15 | 差异增量备份 | 10天 | 32磁盘/D:/backup |
| ↑(合并) | 每月27号23:15 | 累积增量备份 | 100天 | 32磁盘/D:/backup32磁盘/E:/backup32磁盘/F:/backup |
| CounterLogin | 每周周六23:00 | 差异增量备份 | 10天 | 33磁盘/D:/backup |
| ↑(合并) | 每月27号23:15 | 累积增量备份 | 100天 | 33磁盘/D:/backup33磁盘/E:/backup33磁盘/F:/backup |
| BankCardInfo | 每周周六23:05 | 累积增量备份 | 10天 | 34磁盘/D:/backup34磁盘/E:/backup34磁盘/F:/backup |
| PassBook | 每月25号20:00 | RMAN完全备份 | 100天 | 35磁盘/D:/backup35磁盘/E:/backup35磁盘/F:/backup |
| PassBookInfo | 每月26号20:10 | RMAN完全备份 | 100天 | 36磁盘/D:/backup36磁盘/E:/backup36磁盘/F:/backup |
| PassBookJournal | 每月26号20:20 | RMAN完全备份 | 100天 | 37磁盘/D:/backup37磁盘/E:/backup37磁盘/F:/backup |
| BookCurrent | 每月26号21:00 | RMAN完全备份 | 100天 | 38磁盘/D:/backup38磁盘/E:/backup38磁盘/F:/backup |
| BookDeposit | 每月26号21:10 | RMAN完全备份 | 100天 | 39磁盘/D:/backup39磁盘/E:/backup39磁盘/F:/backup |
| BookCash | 每月26号21:20 | RMAN完全备份 | 100天 | 40磁盘/D:/backup40磁盘/E:/backup40磁盘/F:/backup |
| UserInfo_XX(最新) | 隔三天1:00 | 差异增量备份 | 7天 | 41磁盘/D:/backup |
| ↑(合并) | 每周周日20:00 | 累积增量备份 | 10天 | 41磁盘/D:/backup41磁盘/E:/backup41磁盘/F:/backup |
| BankCard_XX(最新) | 每天1:15 | 差异增量备份 | 3天 | 42磁盘/D:/backup |
| ↑(合并) | 隔三天3:00 | 累积增量备份 | 7天 | 42磁盘/D:/backup42磁盘/E:/backup42磁盘/F:/backup |
| BankCardJournal_XX(最新) | 每天2:30 | 差异增量备份 | 3天 | 43磁盘/D:/backup |
| ↑(合并) | 隔三天3:30 | 累积增量备份 | 7天 | 43磁盘/D:/backup43磁盘/E:/backup43磁盘/F:/backup |
| CardCurrent_XX(最新) | 每天1:30 | 差异增量备份 | 3天 | 44磁盘/D:/backup |
| ↑(合并) | 隔三天3:10 | 累积增量备份 | 7天 | 44磁盘/D:/backup44磁盘/E:/backup44磁盘/F:/backup |
| CardDeposit | 每周周日22:00 | 累积增量备份 | 10天 | 45磁盘/D:/backup45磁盘/E:/backup45磁盘/F:/backup |
| CardLoan | 每周周日22:20 | 累积增量备份 | 10天 | 46磁盘/D:/backup46磁盘/E:/backup46磁盘/F:/backup |
| CardTransfer | 每天2:00 | 差异增量备份 | 3天 | 47磁盘/D:/backup |
| ↑(合并) | 隔三天4:30 | 累积增量备份 | 7天 | 47磁盘/D:/backup47磁盘/E:/backup47磁盘/F:/backup |
| CardCash | 隔三天21:20 | RMAN完全备份 | 7天 | 48磁盘/D:/backup48磁盘/E:/backup48磁盘/F:/backup |
分割线
(2)历史数据的转储设计
涵盖转储对象、转储时间、位置及转储方式。以表格形式呈现。
| 表名 | 转储时间(频率) | 转储位置 |
|---|---|---|
| 全部数据表空间 | ||
| 全部数据表空间 | ||
| AtmLogin | 每月15日 | 异地数据中心01号磁盘 |
| PosLogin | 每月15日 | 异地数据中心02号磁盘 |
| BankLogin | 每年5月15日 | 异地数据中心03号磁盘 |
| CounterLogin | 每年5月15日 | 异地数据中心04号磁盘 |
| BankCardInfo | 每月15日 | 异地数据中心05号磁盘 |
| PassBook | 每年5月15日 | 异地数据中心06号磁盘 |
| PassBookInfo | 每年5月15日 | 异地数据中心07号磁盘 |
| PassBookJournal | 每年5月15日 | 异地数据中心08号磁盘 |
| BookCurrent | 每年5月15日 | 异地数据中心09号磁盘 |
| BookDeposit | 每年5月15日 | 异地数据中心10号磁盘 |
| BookCash | 每年5月15日 | 异地数据中心11号磁盘 |
| UserInfo_XX(最新) | 每月15日 | 异地数据中心12号磁盘 |
| BankCard_XX(最新) | 每月15日 | 异地数据中心12号磁盘 |
| BankCardJournal_XX(最新) | 每周周六 | 异地数据中心13号磁盘 |
| CardCurrent_XX(最新) | 每月15日 | 异地数据中心14号磁盘 |
| CardDeposit | 每月15日 | 异地数据中心15号磁盘 |
| CardLoan | 每月15日 | 异地数据中心16号磁盘 |
| CardTransfer | 每周周三 | 异地数据中心17号磁盘 |
| CardCash | 每周周三 | 异地数据中心18号磁盘 |
6、其他设计
(1)数据逻辑存储设计、特殊设计
表空间、数据表、分区的逻辑存储参数设计。比如段管理、区分配、并发事务数等参数。此处不需要一一罗列,采用默认的不需要说明,只需要展示特殊设计即可。
| 特殊设计 | 说明 |
|---|---|
| 概要文件设计 | Pwd_user概要文件(用户最多可以创建一个对话,对话持续时间最5分钟,会话1分钟空闲,则结束会话,用户联系3次登陆失败,则锁定该用户,并提示锁定天数,须手动解锁。) |
| Pwd_staff概要文件(用户最多可以创建4个对话,对话持续30分钟,会话10分钟空闲,则会结束会话。) | |
| Pwd_manager概要文件(用户创建对话数目不限,对话持续一天。每个会话的sql区为200kb) | |
| 数据中心设计 | 某国有大银行银行有南北两个数据中心,北方中心在,南方中心在。功能是负责全国的业务信息处理,其中心计算机系统连接全国各地的营业网点。全国任一分行每天的每笔交易都实时汇集到南方数据中心处理,是整个某国有大银行的信息中心,南北中心互为备份中心。 |
| 业务数据量的估算 | 经估算,某国有行每年的数据存储约9700G+,即每天30G,但新上线或扩容时,对所申请的存储不得全部一次性挂上,应该预留出30%左右的空间用于追加,以防止出现业务发展和预期不一致时剩余空间多寡不均,调整困难。 操作系统上应该预先做好几个合适大小的lv备用。 |
| 数据库服务器工作模式 | 在银行系统中,客户并发数目非常多,专用服务模式满足不了银行系统的要求,所以应该选用共享服务器模式。共享服务器模式下,一个服务进程可以被多个用户进程共享,这样可以使更多用户在同一时间对进行数据库访问。 |
| 归档方式设计 | 银行对数据安全要求非常高,不允许丢失任何数据,而且数据库需要全天候运行,所以应该选择归档模式,归档模式不仅可以用来保护例程失败,而且还可以在介质失败的时候,最大程度的恢复数据库的原有数据。此时,数据库管理员可以利用数据库备份文件、归档日志文件、重做日志文件等把数据库中的数据恢复到故障发生的那一时点。 |
| 服务器及存储设备设计 | 本地磁盘设备采用磁盘阵列,随着硬件技术的发展,目前磁盘阵列的使用变得越来越普遍。对于磁盘阵列系统,由于RAID的划分,不存在一个个真实的物理盘,对应的是物理卷(PV),逻辑卷组(VG),逻辑卷(LV)。对较重要、并且效率要求较高的系统推荐使用RAIDO+1的磁盘配置而不使用RAID5,因为RAID5的校验技术会降低应用数据库系统的效率。但使用RAIDO+1,比RAID5需要更多物理磁盘。网络磁盘找国内流行的服务商。不同的类型对象,分布在不同的卷组上:1、表对应的数据和索引分别放置在不同的物理磁盘上:2、控制文件的多个备份分别放置在不同的物理磁盘上:3、REDO日志组的多个成员放置在不同的物理磁盘上;4、将Oracle文件、SYSTEM表空间、TEMPORARY表空间、UNDO表空间放置在不同的物理磁盘上。 |
分割线
(2)实例参数设计
主要是列出SGA中的各个主要结构的大小及设计依据。
Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享存区,包括一些存储结构(统称为System Gloabl Area,即SGA),用来存储最近从数据库查询的数据。SGA区存管理通过手工设置,根据我们设计的银行的数据量总额(即所有数据文件的存储总量)为一年约9700G,SGA大小通常是全部数据文件的2%,不可太大,以免引起操作系统的切换与分页,因此,需分配194G存储空间。
| SGA主要结构 | 说明 |
|---|---|
| 数据高速缓冲区Database Buffer Cache | 在数据高速缓冲区中存放着Oracle系统使用过的数据块(即用户的高速缓冲区),当把数据写入数据库时,它以数据块为单位进行读写,当数据高速缓冲区填满时,则系统自动去掉一些不常被用户访问的数据。如果用户要查的数据不在数据高速缓冲区时,Oracle自动从磁盘中去读取。数据高速缓冲区一般约占SGA的30%~50%, DB_CACHE_SIZE= 58GB |
| SQL共享池Shared Pool | 该值用于设置共享 SQL 和 PL/SQL 内存区的大小,它的大小直接关系到 SQL 程序的执行速度。考虑到系统需要执行相同的查询语句以及要调用很多用户定义的存储过程,因此需要将该值设置较大。共享池约占总存的40%~50%,所以设置SHARED_POOL_SIZE=89GB |
| 重做日志缓冲区Redo Log Buffer | 该缓冲区保存为数据库恢复过程中用于前滚操作。较大的重做日志缓冲区,可以减少重做日志文件写的次数。根据SGA设置值将参数大小为:LOG_BUFFER=100M |
分割线
(3)小组支持
| 故障级别 | 故障类型 | 响应时间 | 解决时间 |
|---|---|---|---|
| 一级故障 | 数据库产品功能、配置方面出现问题,使客户的整个系统处干瘫痪状态,不能正常运行 | 1小时 | 4小时 |
| 二级故障 | 数据库产品功能、或配置方面出现问题,使系统性能严重下降或局部功能无法使用或某个时间段莫名卡顿,使客户的业务运作受到严重影响 | 1小时 | 8小时 |
| 三级故障 | 数据库产品功能、或配置方面出现问题,使系统部分设备或者数据库出现故障,但整个系统仍可正常工作 | 1小时 | 24小时 |
| 四级故障 | 数据库产品功能、客户化或配置方面出现bug问题,但该问题对客户的业务运作几乎没有影响或根本没有影响 | 1小时 | 48小时 |
>热线电话4008871666 / 028-86136617 0592-2396888 400-882-3823
>传真:0592-2398222
>电子邮件:Service@gdufnow.com
| 服务项目 | 详细描述 |
|---|---|
| 指派专人负责的客户代表工程师 | 指派的客户代表工程师将专职于系统运作与技术服务,协调硬件、设备及网络的现场服务,安排定期走访用户,系统数据库的升级安装、并保证用户能够在规定的服务及响应时间内得到相应的技术支持服务。 |
| 服务情况定期回顾与访问 | 委派专门技术工程师到用户系统现场服务,主要工作包括:对指定的设备做定期的维护保养,包括系统诊断,检测系统硬件、数据库的性能,提出系统优化解决方案,并进行详细的工作记录,以做到系统信息及检修记录文件化。 |
| 协助用户建立系统管理计划 | 包括建立系统重要配置文档档案、系统、安全管理计划、数据备份/恢复管理计划、操作及维护管理计划,以保证用户日常管理和维护工作的正常进行。 |
| 热线电话支持服务 | 经授权的用户方人员可将软件故障或技术咨询服务请求通过技术支持响应中心的热线电话, 可以传直和电子邮件的形式报告给支持工程师,并可要求在2小时内打回电话(如果是在工作时间内)或于下个工作日内以电子邮件文字方式回复。非工作时间内,保证用户可电话联系到指定的客户代表工程师回复服务请求。 |
| 远程支持服务 | 利用7 x 24小时(中文)热线电话、电子邮件、Web支持、远程接入、巡检安排等方式提供咨询、诊断、分析和排除故障等支持服务。>热线电话02037215356/02037215510 |
五、实验总结(包括心得体会、问题回答及实验改进意见)
为什么要放这些文字出来呢,因为我认为这是最难做的一次实验报告,问题巨多,做实验根本不可能每个问题都直接问老师,很多不理解的东西还是要自己上网思考,解决不了的问题我就摆烂记录到实验总结里面去了,现在有ai的帮助,很多问题都能在ai的帮助得到一知半解,所以以后学习有问题可以多问下ai😆
通过这次银行数据库设计实验,我体验了银行数据存储方案设计的方方面面。碰到一个问题顺手记录,就算一种心得体会。
从银行数据库高并发特点上看,我觉得对增删改非常频繁的表上不要使用触发器,因为它每一次增删改语句都会调用触发器会非常消耗资源,浪费时间,就算现在限制交易金额达5万以上需注明资金用途、来源,也不适合在此创建触发器,至于解决可以放给应用程序做,减轻数据库的压力。
关于复合主键的思考,如Atm登录信息表虽然没有频繁的业务修改,不会导致非聚集索引中的主键信息相应修改,而造成表中记录的物理移动。如果使用自增ID代替(银行卡账户,登录时间)作为主键,只是创建多余的列,也方便以后的业务改动,银行这么有钱不会在意一个字段产生的空间。
这次实验查资料,我还碰到了许多上课不细讲的数据类型,如nchar,decimal,time_stamp,
像nchar、nvarchar这种会所有的字符使用两个字节表示从而支持unicode的数据类型,decimal是支持挺多类数据库的,能方便数据库迁移。
网上还有说现在数据库不适合写存储过程的言论,缺点是数据库表结构变更,存储过程本来就优化一次,改起来麻烦,可移植性太差,存储过程不适合写计算程序判断,会增大数据库压力。也有人说存储过程难以调试是可以说是sql编程能力不足,存储过程也有很多的优点,在数据库服务器跑完能减少网络传输量,也能让打包好的sql语句预先编译让执行速度变快,银行业务变动其实不会太频繁,还是适合创建存储过程的,不然为什么oracle公司不砍掉它。
我查到某些软件公司银行系统设计的一些数据表内会预留字段,这个实验我一个预留字段也没放,原因是放了会占空间,想想还是不放了。
索引性能分析,INDEX RANGE SCAN即索引扫描的意思,TABLE ACCESS FULL会全表扫描,查看执行计划可以分析这个索引有没有起到优化作用。重新回顾知识,当一个列含有很多null值,有海量数据且经常查询,在这里可以创建索引,因为空值并不影响索引的创建。
有些资料的表主键使用不同数据类型,到底主键使用char还是varchar2还是number效率更高?网上有人做过实验,数据表明插入数据时,number数据类型明显比其他快,查询数据时number数据类型明显比其他慢,基于实验背景,我觉得速度上查询业务更重要过插入数据,然后就选择char数据类型做很多表的主键。
关于分区的疑惑,分区前要先创建分区表空间,但分区表空间能不能放在不同磁盘呢?感觉没时间查了,根据后续迟早扩容的原因,我就把银行卡账单流水表按每年分区,分区表空间放到了不同磁盘上去了。更大的疑惑是,银行很多表拥有超过2GB的海量数据,感觉除了存折的表基本都可以分区,做个实验怎么能这么多事。
还接触了新名词,比如一本通是存折,网上搜一本通数据表资料比搜存折的感觉好多了,还有RAC,dataground什么的,啊是我没学的东西又跟实验无关以后再看。
关于使用序列,网上基本是oracle序列的语法,用处就是自增,银行流水号概念还可以蹭一下,
查到一个代码挺不错的,一个序列自增加当天时间生成银行流水号,还能创建job脚本每天重置一次这个序列,可惜看不懂,到什么n:=-(n-1),就开始看不懂逻辑了,就没抄。
巩固了归档模式的知识细节,重温了建表方法,什么三范式优化也没搞,实验一路做下来边做边改,有时候做东西回头看才检查出逻辑或书写错误,表格是真的又多又长,我也看了软件公司设计的银行数据库表,一个分户账表就达到一百余字段,小屋见大屋了属于是。
PPT没讲转储,貌似上课也没讲或讲仔细,上网搜oracle转储方式什么信息也搜不到,就把转储当备份做了。
银行业务数据分析也挺烦的,的确把数据找出来了,也没估摸出表空间和表数据文件该如何合理配额,用户和角色配额也不知道怎样更合理分。
上课是学了东西,游标,会占实际空间,没啥用。冷备份,对于7*24小时运行的数据库也没用。
热备份,对于银行这种大数据库分分钟产生一堆归档文件挤占空间,没啥用。为了安全,insert、update等语句权限不能给,只弄通过execute权限去执行存储过程、函数等。只能说什么问题就有什么东西解决。
对于用户和模式的概念依然难以理解,有人说模式可以相当于一个windows文件夹装了很多文件(对象),但是对象分布在多个磁盘呢,貌似也是无关紧要的。
约束延迟检查、簇、包这些东西没在实验弄,也可以说是我根本不会设计所以没弄。
命名规范查了大多数都是sql的,此外oracle对于一些命名都是自动转换大写存进数据字典,上面用驼峰命名是盯着一堆表格好看点,也没有哪个人会觉得全大写会看的很舒服吧。
此次实验完成后,让我受益良多。
六、教师评语
1、完成了所有的实验内容,实验步骤正确,实验结果很好。
2、完成了所有的实验内容,实验步骤正确,实验结果较好。
3、至少完成了主要实验内容,实验步骤正确,实验结果一般。
4、虽然完成了主要实验内容,实验步骤基本正确,但是实验结果不理想。
5、未能很好地完成规定的实验内容,且实验步骤和实验结果存在明显不合理之处。
6、其它:
评定等级:优秀 良好 中等 及格 不及格
教师签名:
年 月 日
自己认真做实验报告再加上背熟往年题目这门课还是很好过的,记得借鉴往年东西的时候多创新,别让老师看了难做,改考题

你做的对,实验报告二是一个开放的小组实验,在这次小组合作中,被成员选中的组长,将被授予组长加分,导引忘了。你将扮演一位名为「旅行者」的神秘角色在开摆的旅行中邂逅性格各异、能力独特的同伴们,和他们一起击败实验报告二,找回失散的deadline——同时,逐步发掘六一儿童节之前上交实验报告二的真相。





