数据库设计1.docx
- 文档编号:16449806
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:17
- 大小:72.32KB
数据库设计1.docx
《数据库设计1.docx》由会员分享,可在线阅读,更多相关《数据库设计1.docx(17页珍藏版)》请在冰点文库上搜索。
数据库设计1
****
数据库设计报告
文件状态:
[√]草稿
[]正式发布
[]正在修改
文件标识:
BEGGER-S2SH-SD-DATABASE
当前版本:
1.0
作者:
陈龙
完成日期:
小组名称:
组长:
联系电话:
版本历史
版本/状态
作者
参与者
起止日期
备注
1.0
张细香
2010-1-20
目录
0.文档介绍4
0.1文档目的4
0.2文档范围4
0.3读者对象4
0.4参考文献4
0.5术语与缩写解释5
1.数据库环境说明6
2.数据库的命名规则6
3.逻辑设计6
4.物理设计7
4.0表汇总7
4.1表tbCustomers7
4.2表tbCards8
4.3表tbDeposit8
4.4表tbFetch9
4.5表tbOperators9
4.6表tbFeeAgency9
4.7表tbDespositAgency10
5运用设计10
5.1数据字典设计10
5.1.1数据字典-数据项10
5.1.2数据字典-子模式12
5.2数据库接口设计13
5.3安全保密设计14
5.3.1防止用户直接操作数据库的方法14
5.3.2用户帐号密码的加密方法14
5.3.3角色与权限14
0.文档介绍
0.1文档目的
作为***软件设计文档的重要组成部分,本文档主要对该软件后台数据库的概念模型设计、逻辑结构设计做出了统一的规定,同时确定了每个表的数据字典结构,它是开发人员测试人员编码及测试的重要参考依据。
0.2文档范围
本文档包含以下几个部分:
Ø文档介绍
Ø数据库环境说明
Ø数据库的命名规则
Ø逻辑设计
Ø物理设计
Ø数据字典
Ø安全性设计
0.3读者对象
本文档的主要读者包括:
组长、需求分析人员、界面设计人员、逻辑设计人员、数据库设计人员
0.4参考文献
[1]……
[2]……
0.5术语与缩写解释
缩写、术语
解释
数据字典
数据字典(Datadictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。
SD
系统设计,SystemDesign
模式
对关系的描述,一般用关系名(属性集合)来简单表示。
…
1.数据库环境说明
由于项目实施时间有限,项目组准备用***作为数据库服务器,以WindowsXp作为操作系统,并选择***作为数据库服务器版本,安装时帐号和密码不使用缺省值。
2.数据库的命名规则
数据库命名采用26个英文字母(区分大小写)和0-9这十个自然数,加上下划线_组成,共63个字符。
不能出现其他字符(注释除外)。
本项目数据库名直接用***。
数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。
对象名字由前缀和实际名字组成,长度不超过30。
前缀:
使用小写字母,具体的类型与前缀如下
类型前缀
表tb
视图vi
存储过程sp
函数fn
实际名字:
实际名字尽量描述实体的内容,由单词或单词组合,每个单词的首字母大写,其他字母小写,不以数字和_开头。
字段由表的简称,实际名字组组成。
如果此字段关联另外的字段,那么加下划线_连接关联表字段的字段名。
3.逻辑设计
根据需求规格说明书,用面向对象方法进行分析设计,储蓄业务系统中有客户、卡类、存款明细类、取款明细类、柜台操作人员类、费用代缴信息类、费用代缴明细类等7个数据类,分别命名为tbCustomers、tbCards、tbDeposit、tbFetchtb、Operators、tbFeeAgent、tbDepositAgent。
各数据类的主码及相互之间的关系见下图:
数据类及相互之间关系图
4.物理设计
4.0表汇总
表名
功能说明
tbCustomers
客户信息表,记录客户的基本信息及对应的卡信息
tbCards
子帐号信息表,记录客户的各子卡信息
tbDesposit
存款明细表,记录客户存款信息
tbFetch
取款明细表,记录客户取款信息
tbOperators
操作员信息表,记录操作员的操作帐号及基本信息等
tbDepositAgent
代缴费用明细表,记录代缴费用的信息明细
TbFeeAgent
代缴费用单位信息表,记录代缴费用单位及对应卡号
4.1表tbCustomers
表名
tbCustomers(客户信息表,简写cust)
列名
数据类型(精度范围)
空/非空
约束条件
custIdCardNo
Char(18)
非空
主键,15位或者18位,末位可以是数字或字母,其他位必须是数字
custName
Varchar(20)
非空
custAddress
Varchar(20)
custPhone
Varchar(20)
custNo
char
非空
自动生成
补充说明
4.2表tbCards
表名
tbCards(子帐号信息表,简写card)
列名
数据类型(精度范围)
空/非空
约束条件
cardNo
Char(5)
非空
主键,10位根据银行卡输入
cardIdCardNo_custIdCardNo
Char(10)
非空
外健(tbCustomers(custIdCardNo))
cardBusinessNo
Char
(2)
非空
第1位表示币种,第2位表示储蓄种类,
cardPassword
Char(6)
非空
cardOpenDate
date
非空
开户当前时间
cardLoss
bool
非空
挂失状态有:
0-正常、1-挂失
cardLossDate
Date
非空
当前系统时间
cardBalance
Decimal(10,2)
补充说明
销户则将记录从表中删除,将该记录插入到tbCardsHistory表中去。
4.3表tbDeposit
表名
tbDeposit(存款明细表,简写depo)
列名
数据类型(精度范围)
空/非空
约束条件
depoFlowNo
Char(15)
非空
主键,前8位为日期,后7位顺序生成
depoCardNo_cardNo
char(10)
非空
外键(tbCards(cardNo))
depoOperateDate
date
非空
操作当前日期,自动生成
depoMaturity
Varchar(10)
DepoOperatorNo_optAccount
Char(10)
非空
外键(tbOperators(optNo))
depoFromCardNo_cardNo
Char(10)
外键(tbCards(cardNo))
DepoMoney
Decimal(10,2)
非空
补充说明
币种中用用数字表示:
1-人民币,2-美元,3-港元,4-日元,5-欧元;
储蓄种类用数字表示:
1-活期,2-整存整取,3—零存整取,4-定活两便
depoMaturity用于存放定期等存款业务的存期说明
4.4表tbFetch
表名
tbFetch(取款明细表,简写fet)
列名
数据类型(精度范围)
空/非空
约束条件
fetFlowNo
Char(15)
非空
主键,前8位为日期,后7位顺序生成
fetCardNo_cardNo
Char(10)
非空
外键(tbCards(cardNo))
fetOperateDate
date
非空
操作当前日期,自动生成
fetToCardNo_cardNo
Char(10)
外键(tbCards(cardNo))
DepoOperatorNo_optAccount
char(10)
非空
外键(tbOperators(optNo))
fetchMoney
Decimal(10,2)
非空
fetReceiptFlowNo_depoFlowNo
Varchar(50)
外键(tbDeposit(flowNO))
补充说明
receiptFlowNo对于定期取款、零存争取等操作原存单流水号;
4.5表tbOperators
表名
tbOperators(操作员信息表,简写opt)
列名
数据类型(精度范围)
空/非空
约束条件
optAccount
Varchar(10)
非空
主键
optName
Varchar(20)
非空
optPassword
Varchar(20)
非空
不能明文存放
optWorkNo
Varchar(20)
非空
工作人员工号
补充说明
4.6表tbFeeAgency
表名
tbFeeAgency(代缴费用种类表,简写fag)
列名
数据类型(精度范围)
空/非空
约束条件
fagKind
Varchar(10)
非空
主键,
fagName
Varchar(30)
非空
fagCardNo_cardNo
Char(10)
非空
外键(tbCards(cardNo))
补充说明
费用类型用字符表示:
电信固话、电信网费、移动话费、煤气费、水费、电费
4.7表tbDespositAgency
表名
tbDespositAgency(代缴费用明细表,简写dpa)
列名
数据类型(精度范围)
空/非空
约束条件
dpaflowNo
Char(15)
非空
主键,前8位为日期,后7位顺序生成
dpaKind
char(10)
非空
外键,(tbFeeAgency(feeKind))
dpaOperateDate
date
非空
操作当前日期,自动生成
DpaOperatorNo_optAccount
Char(10)
非空
外键(tbOperators(optAccount))
dpaCardNo_cardNo
char(10)
外键(tbCards(cardNo))
dpaCustomerInfo
Char(10)
dpaMoney
Decimal(10,2)
非空
补充说明
dpaCustomerInfo记录交费者相关信息
5运用设计
5.1数据字典设计
5.1.1数据字典-数据项
数据库中设计涉及的数据项以数据项名称、数据类型、长度和数据项描述等几个方面来进行说明:
序号
数据项名称
数据类型
长度
数据项描述
1
custIdCardNo
字符
18
客户身份证号,15位或者18位,末位可以是数字或字母,其他位必须是数字
2
custName
字符
10
客户帐号,客户在银行的帐号,可由系统自动顺序生成
3
custAddress
字符
20
客户姓名,设定20位为能处理特殊名字
4
custPhone
字符
40
客户住址,可设置为可选项
5
custNo_cardNo
字符
20
客户电话,对于固定电话可短划线来标识。
6
cardNo
字符
10
银行卡卡号(子帐号),对应银行卡的卡号
7
cardIdCardNo_custIdCardNo
字符
18
卡对应的身份证号,申请该卡对应的
8
cardBusinessNo
字符
2
业务类型。
第1位表示币种,第2位表示储蓄种类,币种中用用数字表示:
1-人民币,2-美元,3-港元,4-日元,5-欧元;储蓄种类用数字表示:
1-活期,2-整存整取,3—零存整取,4-定活两便
9
cardPassword
字符
6
卡密码,对应每张卡(子帐号)的密码,要求是6位数字密码
10
cardOpenDate
日期
8
开户当前时间
11
cardLoss
布尔
1
挂失状态,对应卡的挂失状态:
0-正常、1-挂失
12
cardLossDate
日期
8
挂失日期,对应卡的挂失日期,用当前系统时间
13
cardLossDate
数值
10
卡中余额,对应卡中的余额,保留2位小数
14
depoFlowNo
字符
15
存款明细流水号,前8位为日期,后7位顺序生成
15
depoOperateDate
日期
8
存款操作日期
16
depoMaturity
字符
10
存期,对于整存争取等业务的存期,如3年期、5年期等
17
DepoOperatorNo_optAccount
字符
10
操作员账号,操作进入系统操作时登陆的帐号。
18
depoFromCardNo_cardNo
字符
10
存款转入卡号,对应转账时从转入帐号对应的卡号(子帐号)
19
depoMoney
字符
10
存款额,每次存款操作的存款额
20
fetFlowNo
字符
10
取款明细流水号,前8位为日期,后7位顺序生成
21
fetCardNo_cardNo
字符
15
取款卡号,对应取款时的卡号,与tbCards中的卡号相关联
22
fetOperateDate
日期
8
取款操作日期,取款当日的系统日期
23
fetOperatorNo
字符
10
操作员账号,操作进入系统操作时登陆的帐号。
24
fetToCardNo_cardNo
字符
10
转钱入该卡的卡号
25
fetchMoney
数值
10
取款额
26
receiptFlowNo
字符
15
取款的存款单流水号,对于定期等业务取款时对应的存款流水号
27
optAccount
字符
10
主键
28
optName
字符
20
29
optPassword
字符
20
不能明文存放
30
optWorkNo
字符
20
工作人员工号
31
fagKind
字符
10
代缴费用类别,如电费、水费、煤气费等
32
fagName
字符
30
代缴费用单位名,对应
33
fagCardNo_cardNo
字符
10
代缴费用卡号,用来将电费、水费等代缴费用存入到带交费用单位在该银行开通的账号对应的某张卡(子账号)中
34
dpaflowNo
字符
15
费用代缴流水号,前8位为日期,后7位顺序生成
35
dpaKind_fagKind
字符
10
费用代缴类型,包括电费、水费、通信费等
36
DpaOperatorNo_optAccount
字符
10
费用代缴业务操作员代码,与操作员表中操作员账号相对应
37
dpaOperateDate
日期
8
代缴费用日期,银行柜台人员代缴费用操作日期
38
dpaCardNo_cardNo
字符
10
代缴费用缴入账号,将现金存入到该账号中
39
dpaCustomerInfo
字符
20
代缴费用缴费用户的信息,现金代交费用时缴费方的信息
40
dpaMoney
Decimal(10,2)
10
代缴费用额,代缴费用额度,同时将对应代缴费用缴入账号(卡)的余额增加
5.2数据库接口设计
使用JDBC连接数据库,JDBC提供了一个“驱动程序管理器”,它能动态维护数据库查询所需的所有驱动程序对象。
为打开一个数据库,必须创建一个“数据库URL”,它要指定下述三方面的内容:
(1)用“jdbc”指出要使用JDBC。
(2)“子协议”:
驱动程序的名字或者一种数据库连接机制的名称。
(3)数据库标识符:
随使用的数据库驱动程序的不同而变化,但一般都提供了一个比较符合逻辑的名称,由数据库管理软件映射(对应)到保存了数据表的一个物理目录。
为使自己的数据库标识符具有任何含义,必须用自己的数据库管理软件为自己喜欢的名字注册(注册的具体过程又随运行平台的不同而变化)。
5.3安全保密设计
5.3.1防止用户直接操作数据库的方法
银行柜台人员只能通过帐号、密码进行身份认证后才能通过应用系统来访问数据库。
数据库服务器安装时禁止使用默认帐号、密码,数据库服务器的端口号不使用默认端口。
5.3.2用户帐号密码的加密方法
对于用户帐号、密码进行加密存放到数据库中,系统的界面不显示用户的密码信息。
5.3.3角色与权限
角色
可以访问的表与列
操作权限
柜台人员
tbCustomers
插入、删除、修改
tdCards
插入、删除、修改
tbDesposit
插入
tbFetch
插入
tbDespositAgency
插入
tbFeeAgency
插入、删除、修改
系统管理员
tbOperators
插入、删除、修改
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计