银行卡数据库设计报告Word文档下载推荐.docx
《银行卡数据库设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《银行卡数据库设计报告Word文档下载推荐.docx(21页珍藏版)》请在冰点文库上搜索。
1.1文档目的
详细说明BankCardMS银行卡出入库管理系统的数据逻辑设计,物理设计及运行环境。
为开发人员提供开发指导;
为客户提供数据设计;
为测试人员提供测试指导和为管理人员提供决策服务。
1.2文档范围
本文档包括数据库的命名规则,设计模式,数据维护以及适用的人群,产品遵循的标准或规范。
1.3读者对象
本文档针对的对象包括最终使用用户,项目经理,产品决策者(领导层),开发人员,测试人员等
1.4参考文献
《数据库系统概论》萨师轩
《数据库原理与设计》吴鹤龄
1.5术语与缩写解释
缩写、术语
解释
E-R
描述实体之间的关系的图表
oracle
存放数据的仓库
…
2.数据库环境说明
Oracle9i数据库,PowerDesigner建模工具
服务名:
Handson
用户名:
BANKCARD
密码:
配置类别
系统配置
软件配置
Windows2003server以上
Oracle9i1.0以上
硬件配置
处理器
InterP42.0G以上
内存
1000M以上
硬盘
80G以上
网卡
10-100M以太网卡
3.逻辑设计
银行卡管理系统主要涉及5个实体:
1>
操作员
2>
角色
3>
部门
4>
公告
5>
银行卡
它们之间的实体关系如下图所示:
5.物理设计
5.1表汇总
英文表名
中文表名
功能说明
t_hintInfo
公告表
用户发布公告
t_departmentInfo
部门表
管理部门
t_roleInfo
角色表
维护角色权限
t_operatorInfo
操作员表
管理操作员
t_menuInfo
菜单表
管理系统菜单
t_importTmp
导入数据临时表
校验银行卡数据
t_importHistory
导入数据历史表
归档导入数据
t_billSequenceTmp
操作流水临时表
生成流水号
t_operatorHistory
操作历史表
归档操作数据
t_bankCard
银行卡
管理银行卡状态
5.2公告表
表名
列名
数据类型(精度范围)
空/非空
约束条件
注释
hintId
number(10)
n
Primarykey
>
0自增
公告ID(主键名pk_hintInfo_hintId)
数据来源于seq_hintInfo
validDate
date
1900-9999
失效日期
departId
Number
(2)
接受部门ID(0-所有部门)
operId
Char(6)
ForeignKey
发布人id
createDate
默认Sysdate
发布日期
hintText
varchar2(1000)
y
内容
subject
varchar2(50)
主题
补充说明
序列seq_hintInfo主要用于创建该表主键
5.2.1外键表
外键
子
父
fk_hintInfo_operatorInfo_operId
t_operatorInfo(operId)
5.3部门表
departId
部门ID(主键名:
pk_departmentInfo_departId)
数据来源于seq_departmentInfo
departCode
varchar2(10)
unique
部门编码
departName
部门名称
departKind
number
(1)
(0:
市1:
县2:
网点-1:
不可用)
部门类别
fatherId
上级部门ID
departMemo
varchar2(100)
createDate
Sysdate
记录创建日期
上级部门ID来源于本部门上级部门的部门ID。
市级部门其上级部门ID=-1。
序列seq_departmentInfo主要用于创建主键,初始值2、步长1。
默认部门(部门ID:
1、部门编码:
szh、部门名称:
市支行、上级部门ID:
-1、备注:
”此部门不能删除,新用户需修改”、创建日期:
1990-1-1)
5.4角色表
roleId
Number
(2)
角色Id(主键名:
pk_roleInfo_roleId)
ID数据固定
roleName
varchar2(20)
角色名称
rolePower
varchar2(100)
拥有的权限(多个0101组成的串。
1:
可用;
0:
roleMemo
roleState
Number
(1)
0正常-1不可用
角色状态
5.4.1角色设置
角色ID
权限范围
1
市级用户
111110*********11
2
县级用户
11101111100001111
3
网点用户
11100111000011111
5.4.2权限设置
权限设置对应表
权限位置
权限名称
状态
可用
(1)
不可用(0)
提示公告
公告发布
公告维护
4
卡数据导入
5
银行卡出库
6
银行卡退库
7
状态查询
8
库存统计
9
发行情况
10
部门管理
11
柜员管理
12
角色管理
13
作废处理
14
作废查询
15
重新登录
16
退出系统
17
修改密码
5.5操作员表
operId
Char(6)
操作员ID(主键名:
pk_operatorInfo_operId)
operName
操作员姓名
password
char(6)
{0-9}
6位数字密码
隶属部门
角色Id
operMemo
operState
操作员状态
默认用户(操作员ID:
admin、姓名:
系统管理员、密码:
000000、隶属部门:
1-市支行、角色ID:
1市级用户、备注:
“此用户不能删除,不能修改“、操作员状态:
0可用、记录创建日期:
‘1990-1-1’)
5.5.1外键表
外键名
fk_operatorInfo_departmentInfo_departId
t_departmentInfo(departId)
fk_operatorInfo_roleInfo_roleId
roleId
t_roleInfo(roleId)
5.6菜单表
t-menuInfo
menuId
Number(3)
菜单ID(主键名:
pk_menuInfo_menuId)
来源于序列seq_menuInfo
menuName
varchar2(30),
菜单名称=权限名称
menuIndex
number(3),
默认0
对应权限位置(0-不对应)
urlPath
varchar2(50),
默认’#’
指向的url路经
openTarget
varchar2(10),
{“blank”,”mainFame”}
新窗口打开位置
isExpland
number
(1),
{0,1},默认1
自动展开0:
关闭1:
展开
上级菜单ID
(顶级菜单其上级菜单ID=-1)
menuKind
{0,1,-1}
菜单类别0:
菜单1:
界面按钮,-1不可用
menuOrder
number(5)
在统计菜单中的顺序
权限的设置是建在菜单上的,菜单的可用与否对应权限的可用与否。
上级菜单ID=父菜单的ID
5.7导入数据临时表
cardNumber
Varchar2(50)
卡号
CardKind
Number(10)
{1-5}
卡种类(1-贷记卡2-准贷记卡3-储蓄卡4专用卡5-储值)卡
cardBatch
varchar2(10)
批次
servicekind
Number(10)
{1,2}
卡类别1-威士2-万事达
cardPassword
Varchar2(20)
初始密码
makeDate
生成日期
validDate
isSuccess
number
(1)
{0,1}
是否校验成功0:
失败1:
成功
failReason
简述失败原因
1-卡类别有误、2-卡种有误、3-卡号有误、4-密码有误5-生成日期有误6-失效日期有误7-批次有误
date
sysdate
操作员ID
1:
导入数据的时候操作此表
2:
每次操作前清理数据
3:
来源于卡数据文件(TXT)
5.7.1外键表
fk_importTmp_operatorInfo_operId
5.8导入数据历史表
historyID
PrimaryKey
历史表记录ID(主键名:
pk_importHistory_historyID)1
来源于序列seq_importHistory
cardBatch
upFileName
varchar2(200),
上传的文件名
saveFileName
保存的文件名
isValid
{0,-1}
是否有效(0:
有效,-1无效)
totalCount
number(10),
=0默认0
本次导入卡的总数量
successCount
=0默认0
本次导入成功导入数量
failCount
本次导入导入失败数量
默认Sysdate
操作员Id
memo
导入一次发生一次
不删除不修改
5.8.1外键表
fk_importHistory_operatorInfo_operId
5.9操作流水临时表
billID
number
流水ID(主键名:
pk_billSequenceTmp_billID)
来源于序列seq_billSequenceTmp
billKind
char
(2)
{10,11,12}
操作类别10:
导入11:
出库12:
退库13作废
billDate
操作日期
sequenceNumber
char(30)
‘0’
操作流水编号,每天从1重新计数
(导入、出库、退库)时操作此表
每天操作前清理此表
流水号编号1-4位(部门ID)5-10(操作员ID)11-18位(年月日)19-20位(操作类别)21-26(序号)27-30(空闲)
4:
流水号数据来源于存储过程sp_billSequence
5:
sp_billSequence定义
参数:
1>
departId(部门ID)number2>
operID(操作员ID)
char3>
biiDate(操作日期)char4>
billKind(操作类别)char
返回值:
sequenceNumber(流水号)char
5.10操作历史表
BillID
Number(20)
历史记录ID,来源于seq_operatorHistory
操作类别10:
导入11:
退库
char(30)
操作流水编号,来源于操作流水临时表中的流水编号
cardNumber
number(10)
0默认0
卡数量
cardStartNumber
Char(19)
卡起始号
cardEndNumber
卡结束号
Syadate
char(6)
部门Id
cardKind
卡种1-贷记卡2-准贷记卡3-储蓄卡4专用卡5-储值卡
serviceKind
number
(2)
卡类别1-威士2-万事达
memo
对每次操作(导入、出库、退库),银行卡表的每一次变化都做一次备份。
5.10.1外键表
fk_operatorHistory_operatorInfo_operId
fk_operatorHistory_departmentInfo_operId
t_departmentInfo(departId)
5.11银行卡表
卡号(19位长度)
number
(2)
cardPassword
制作日期
cardState
失效,1:
正常-1消磁-2划痕-3折角
departID
所属部门ID
操作流水号,来源于操作流水临时表中的流水编号
operDate
5.11.1外键表
fk_bankCard_departmentInfo_operId
6.安全性设计
1):
选择安全级别高的数据库(Oracle9i)是基于如下原因
Oracle数据库是业界安全性方面最完备的数据库产品。
在数据库安全性的国际标准中,Oracle通过了14项标准的测试,是所有数据库产品中通过安全性标准最多、最全面的产品。
Oracle在C2级的操作系统上(如商用UNIX,VMS操作系统),不仅满足NCSCC2级安全标准,而且已经正式通过了NCSCC2标准的测试。
在B1级的操作系统上不仅满足NCSCB1级安全标准,而且已经通过了NCSCB1级标准的测试。
Oracle提供的主要安全性措施如下:
A)身份认证功能(Authentication):
识别访问个体的身份
B)数据访问的机密性(Confidentialty):
保证敏感数据访问的机密性。
C)数据完整性(Integrity):
保证数据不被篡改。
D)授权能力(Authorization):
保证被授权用户对数据的查询和修改能力。
E)访问控制(AccessControl):
确定对指定数据的访问能力
F)审计能力(Auditing):
提供监测用户行为的能力。
G)私有性(Privacy):
提供对敏感数据访问的私密性。
H)高可用性(Availability):
保证数据和系统提供不间断服务的能力。
I)代理管理能力(DelegatedAdministration):
提供对用户帐号的集中管理功能。
2):
只安装需要的软件
3):
锁定或者失效默认用户
4):
修改可用用户的默认密码
5):
限制操作系统存取权限
6):
定期更新厂家推出的安全性补丁
6.1防止用户直接操作数据库的方法
应用级的用户帐号密码不能与数据库相同,防止用户直接操作数据库。
用户只能用帐号登录到应用软件,通过应用软件访问数据库,而没有其它途径操作数据库。
7.优化
提示:
分析并优化数据库的“时-空”效率,尽可能地“提高处理速度”并且“降低数据占用空间”。
(1)分析“时-空”效率的瓶颈,找出优化对象(目标),并确定优先级。
(2)当优化对象(目标)之间存在对抗时,给出折衷方案。
(3)给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等。
优先级
优化对象(目标)
措施
最有可能影响性能的是磁盘和网络吞吐量
扩大虚拟内存,并保证有足够可以扩充的空间;
把数据库服务器上的不必要服务关闭掉
表的查询
对该表的所有查询搜索操作按照where选择条件建立索引
8.数据库管理与维护说明
在设计数据库的时候,及时给出管理与维护本数据库的方法,有助于将来撰写出正确完备的用户手册。