数据库设计实验报告银行储蓄系统.docx

上传人:b****5 文档编号:4756391 上传时间:2022-12-08 格式:DOCX 页数:16 大小:728.55KB
下载 相关 举报
数据库设计实验报告银行储蓄系统.docx_第1页
第1页 / 共16页
数据库设计实验报告银行储蓄系统.docx_第2页
第2页 / 共16页
数据库设计实验报告银行储蓄系统.docx_第3页
第3页 / 共16页
数据库设计实验报告银行储蓄系统.docx_第4页
第4页 / 共16页
数据库设计实验报告银行储蓄系统.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

数据库设计实验报告银行储蓄系统.docx

《数据库设计实验报告银行储蓄系统.docx》由会员分享,可在线阅读,更多相关《数据库设计实验报告银行储蓄系统.docx(16页珍藏版)》请在冰豆网上搜索。

数据库设计实验报告银行储蓄系统.docx

数据库设计实验报告银行储蓄系统

银行储蓄系统

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1