数据库设计实验报告银行储蓄系统.docx
- 文档编号:4756391
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:16
- 大小:728.55KB
数据库设计实验报告银行储蓄系统.docx
《数据库设计实验报告银行储蓄系统.docx》由会员分享,可在线阅读,更多相关《数据库设计实验报告银行储蓄系统.docx(16页珍藏版)》请在冰豆网上搜索。
数据库设计实验报告银行储蓄系统
银行储蓄系统
Xx1用户需求分析,建立E-R图,模型生成,数据库实施和修改;
Xx2用户需求分析,建立E-R图,数据库运行和维护;
设计过程相互探讨,相互学习,达到共同进步之目的。
一、需求描述
银行储蓄系统,实现储户开户登记,办理定期存款帐,办理定期取款手续,办理活期存款帐,办理活期取款手续,同时实现各银行及储蓄所间的业务代理和转换。
1、信息处理需求
总行:
包括国家编号(唯一),总行长(唯一),总行长编号(唯一),地址,联系电话,包括多个分行
分行:
包括分行编号(唯一),分行长(唯一),分行长编号(唯一),地址,联系电话,各分行之间为并列关系,分行雇佣业务员,审核账目清单,每个分行有一个营业厅受理各项业务
营业厅:
包括营业厅编号(唯一),地址,联系电话,营业窗口号,一个营业厅负责受理一个分行的业务,一个营业厅由多个储蓄所组成并有多个业务员受理各项业务
储蓄所:
包括储蓄所编号(唯一),储蓄所名称,储蓄所长,地址,联系电话,储蓄柜台号,储蓄金额,并有多个职员办理各项业务
业务员:
包括姓名(唯一),性别,编号(唯一),年龄,职务,办理储蓄类别(活期,定期),每个业务员在一个营业窗口工作
职员:
包括姓名(唯一),性别,编号(唯一),年龄,职务,办理(包括储蓄类别-活期/定期;登记,核对),每个职员在一个储蓄柜台工作,计算存、取额及利息
储户:
包括姓名(唯一),身份证号(唯一),性别,储蓄类别,年龄,开户金额,输入(密码,密码确认,储蓄金额,取款额),储户可选择多个储蓄所存、取款,并可拥有多个储蓄账号
账户:
包括储蓄账号编码(唯一),储蓄账号(唯一),储蓄类别,开户时间,开户金额,总金额,密码
2、功能需求
交互:
各分行及储蓄所之间进行业务交互,包括转账,代办
提交:
各级银行进行由下至上的清单、业务信息的交接
审核:
上级银行对所属银行的业务信息和账户清单进行审查、核准
计算:
主要是工作人员对总账出入和利息的合计
办理:
职员对储户信息和账户资料的登记和核准,实现储户开户登记,办理定期存款帐,办理定期取款手续,办理活期存款帐,办理活期取款手续
管理:
主指上级银行业务员对下级银行、人员的管控和调动
数据输入:
输入储户和账户的基本信息
3、系统性能
该系统的精度要求较高、时间比较快、应变能力快。
4、数据字典
(1)数据项
数据项
名称及属性
编码
数据类型
长度
储蓄所名称
savingsbank_name
VA20
20
储蓄所编号
savingsbank_number
N20
20
储蓄所长
manager
VA20
20
储蓄柜台号
counternumber
N20
20
储蓄类别
type
A20
20
储蓄账号
account
A20
20
储蓄账号编码
accountnumber
N8
8
储蓄金额
money
MN20
20
储蓄金额2
money2
N20
20
分行编号
branchb_number
LVA20
20
分行长
branchb_chief
VA20
20
分行长编号
branchb_chiefnumber
VA20
20
取款额
money1
MN20
20
唯一
unique
国家编号
no.
LVA
地址
address
VA30
30
姓名
name1
VA20
20
姓名
name2
VA20
20
姓名
name
VA20
20
定期
dingqi
密码
secret
VA12
12
密码确认
assured
VA12
12
年龄
age
N3
3
并列
appose
VA10
10
开户时间
time
DT
开户金额
accountmoney
MN20
20
性别
sex
A2
2
总行长
cheif
VA20
20
总行长编号
chiefnumber
VA10
10
总金额
allmoney
MN20
20
方式
manner
VA20
20
核对
check
活期
huoqi
登记
register
编号
number3
A10
10
编号
number2
N10
10
编号
number1
N10
10
职务
position
VA10
10
联系电话
telephone
N15
15
营业厅编号
number
N20
20
营业窗口号
windownumber
N10
10
身份证号
ID
A18
18
(2)数据结构
总行包括多个分行,各分行之间为并列关系,分行雇佣业务员,审核账目清单,每个分行有一个营业厅受理各项业务;一个营业厅负责受理一个分行的业务,一个营业厅由多个储蓄所组成;并有多个业务员受理各项业务,一个储蓄所有多个职员,每个职员在一个储蓄柜台工作;每个业务员在一个营业窗口工作,储户可选择多个储蓄所存、取款,并可拥有多个储蓄账号
二、概念结构设计
ER图:
PowerDesigner的概念模型图
三、逻辑结构设计
根据规则转换成关系模式
总行(国家编号,总行长,总行长编号,地址,联系电话,分行)
分行(分行编号,分行长,分行长编号,地址,联系电话,营业厅,业务员)
营业厅(营业厅编号,地址,联系电话,营业窗口号,储蓄所,业务员)
储蓄所(储蓄所编号,储蓄所名称,储蓄所长,地址,联系电话,储蓄柜台号,储蓄金额,职员)
业务员(姓名,性别,编号,年龄,职务,营业窗口)
职员(姓名,性别,编号,年龄,职务,储蓄柜台)
储户(姓名,身份证号,性别,储蓄类别,年龄,开户金额,储蓄所,储蓄账号)
账户(储蓄账号编码,储蓄账号,储蓄类别,开户时间,开户金额,总金额,密码)
PowerDesigner的物理模型图
四、数据库物理实施
数据库定义SQL文本如下:
/*==============================================================*/
/*DBMSname:
ORACLEVersion10g*/
/*Createdon:
2010-11-2220:
41:
13*/
/*==============================================================*/
/*==============================================================*/
/*Table:
"account"*/
/*==============================================================*/
createtable"account"(
"type"CHAR(20),
"account"CHAR(20),
"time"DATE,
"accountmoney"NUMBER(20),
"allmoney"NUMBER(20)notnull,
"secret"VARCHAR2(12),
"accountnumber"NUMBER(8)notnull,
constraintPK_ACCOUNTprimarykey("accountnumber")
);
/*==============================================================*/
/*Table:
"alternation"*/
/*==============================================================*/
createtable"alternation"(
"bra_branchb_c2"VARCHAR2(20)notnull,
"bra_branchb_c3"VARCHAR2(20)notnull,
"bra_branchb_n2"CLOBnotnull,
"branchb_chief"VARCHAR2(20)notnull,
"branchb_chief"VARCHAR2(20)notnull,
"branchb_number"CLOBnotnull,
"bra_branchb_ch"VARCHAR2(20)notnull,
"bra_branchb_c4"VARCHAR2(20)notnull,
"bra_branchb_nu"CLOBnotnull,
"bra_branchb_c5"VARCHAR2(20)notnull,
"bra_branchb_c6"VARCHAR2(20)notnull,
"bra_branchb_n3"CLOBnotnull,
"manner"VARCHAR2(20),
constraintPK_ALTERNATIONprimarykey("bra_branchb_c2","bra_branchb_c3","bra_branchb_n2","branchb_chief","branchb_chief","branchb_number","bra_branchb_ch","bra_branchb_c4","bra_branchb_nu","bra_branchb_c5","bra_branchb_c6","bra_branchb_n3")
);
/*==============================================================*/
/*Index:
"alternation_FK"*/
/*==============================================================*/
createindex"alternation_FK"on"alternation"(
"bra_branchb_c2"ASC,
"bra_branchb_c3"ASC,
"bra_branchb_n2"ASC
);
/*==============================================================*/
/*Table:
"bankclerk"*/
/*==============================================================*/
createtable"bankclerk"(
"name2"VARCHAR2(20)notnull,
"sex"CHAR
(2),
"number2"NUMBER(10)notnull,
"age"NUMBER(3),
"position"VARCHAR2(10),
"type"CHAR(20),
"windownumber"NUMBER(10),
constraint"PK_BANKCLERK"primarykey("name2","number2")
);
/*==============================================================*/
/*Table:
"bankdepartment"*/
/*==============================================================*/
createtable"bankdepartment"(
"number"NUMBER(20)notnull,
"name2"VARCHAR2(20)notnull,
"number2"NUMBER(10)notnull,
"savingsbank_nu"NUMBER(20)notnull,
"ban_name2"VARCHAR2(20)notnull,
"ban_number2"NUMBER(10)notnull,
"ban_name3"VARCHAR2(20)notnull,
"ban_number3"NUMBER(10)notnull,
"name"VARCHAR2(20)notnull,
"number1"NUMBER(10)notnull,
"sav_savingsban"NUMBER(20)notnull,
"ban_name4"VARCHAR2(20)notnull,
"ban_number4"NUMBER(10)notnull,
"sav_savingsba2"NUMBER(20)notnull,
"cle_name"VARCHAR2(20)notnull,
"cle_number1"NUMBER(10)notnull,
"sav_savingsba3"NUMBER(20)notnull,
"address"VARCHAR2(30),
"telephone"NUMBER(15),
"windownumber"NUMBER(10),
"appose"VARCHAR2(10),
"appose2"VARCHAR2(10),
constraint"PK_BANKDEPARTM"primarykey("number")
);
/*==============================================================*/
/*Table:
"branchbank"*/
/*==============================================================*/
createtable"branchbank"(
"branchb_number"CLOBnotnull,
"branchb_chief"VARCHAR2(20)notnull,
"branchb_chief"VARCHAR2(20)notnull,
"savingsbank_nu"NUMBER(20)notnull,
"name"VARCHAR2(20)notnull,
"number1"NUMBER(10)notnull,
"sav_savingsban"NUMBER(20)notnull,
"cle_name"VARCHAR2(20)notnull,
"cle_number1"NUMBER(10)notnull,
"address"VARCHAR2(30),
"telephone"NUMBER(15),
"appose"VARCHAR2(10),
"appose2"VARCHAR2(10),
constraint"PK_BRANCHBANK"primarykey("branchb_chief","branchb_chief","branchb_number")
);
/*==============================================================*/
/*Index:
"engage_FK"*/
/*==============================================================*/
createindex"engage_FK"on"branchbank"(
"cle_name"ASC,
"cle_number1"ASC
);
/*==============================================================*/
/*Index:
"makeup_FK"*/
/*==============================================================*/
createindex"makeup_FK"on"branchbank"(
"savingsbank_nu"ASC
);
/*==============================================================*/
/*Index:
"makeup4_FK"*/
/*==============================================================*/
createindex"makeup4_FK"on"branchbank"(
"sav_savingsban"ASC
);
/*==============================================================*/
/*Index:
"engage2_FK"*/
/*==============================================================*/
createindex"engage2_FK"on"branchbank"(
"name"ASC,
"number1"ASC
);
/*==============================================================*/
/*Table:
"chiefbank"*/
/*==============================================================*/
createtable"chiefbank"(
"no."CLOBnotnull,
"cheif"VARCHAR2(20)notnull,
"chiefnumber"VARCHAR2(10)notnull,
"branchb_chief"VARCHAR2(20)notnull,
"branchb_chief"VARCHAR2(20)notnull,
"branchb_number"CLOBnotnull,
"bra_branchb_ch"VARCHAR2(20)notnull,
"bra_branchb_c2"VARCHAR2(20)notnull,
"bra_branchb_nu"CLOBnotnull,
"address"VARCHAR2(30),
"telephone"NUMBER(15),
constraint"PK_CHIEFBANK"primarykey("no.","cheif","chiefnumber")
);
/*==============================================================*/
/*Table:
"clerk"*/
/*==============================================================*/
createtable"clerk"(
"name"VARCHAR2(20)notnull,
"sex"CHAR
(2),
"number1"NUMBER(10)notnull,
"age"NUMBER(3),
"position"VARCHAR2(10),
"type"CHAR(20),
"counternumber"NUMBER(20),
constraintPK_CLERKprimarykey("name","number1")
);
/*==============================================================*/
/*Table:
"depositor"*/
/*==============================================================*/
createtable"depositor"(
"name1"VARCHAR2(20)notnull,
IDCHAR(18)notnull,
"accountnumber"NUMBER(8)notnull,
"acc_accountnum"NUMBER(8)notnull,
"sex"CHAR
(2),
"type"CHAR(20),
"age"NUMBER(3),
"account"CHAR(20),
"savingsbank_na"VARCHAR2(20),
"money"NUMBER(20),
"accountmoney"NUMBER(20),
"secret"VARCHAR2(12),
"assured"VARCHAR2(12),
"money2"NUMBER(20),
"money1"NUMBER(20),
"secret2"VARCHAR2(12),
"assured2"VARCHAR2(12),
"money3"NUMBER(20),
"money4"NUMBER(20),
constraintPK_DEPOSITORprimarykey("name1",ID)
);
/*==============================================================*/
/*Table:
"savingsbank"*/
/*==============================================================*/
createtable"savingsbank"(
"savingsbank_nu"NUMBER(20)notnull,
"name"VARCHAR2(20),
"number1"NUMBER(10),
"cle_name"VARCHAR2(20),
"cle_number1"NUMBER(10),
"manager"VARCHAR2(20),
"address"VARCHAR2(30),
"telephone"NUMBER(15),
"counternumber"N
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计 实验 报告 银行 储蓄 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)