收藏 分享(赏)

数据库课程设计报告银行管理系统.doc

上传人:精品资料 文档编号:8868184 上传时间:2019-07-14 格式:DOC 页数:31 大小:223.74KB
下载 相关 举报
数据库课程设计报告银行管理系统.doc_第1页
第1页 / 共31页
数据库课程设计报告银行管理系统.doc_第2页
第2页 / 共31页
数据库课程设计报告银行管理系统.doc_第3页
第3页 / 共31页
数据库课程设计报告银行管理系统.doc_第4页
第4页 / 共31页
数据库课程设计报告银行管理系统.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、1目 录1 绪论1.1 选题目的及意义21.2 设计内容22 需求分析2.1 功能需求22.2 数据需求23 数据库设计3.1概念结构设计73.2逻辑结构设计93.3物理结构设计114.设计结果及分析4.1查询与结果分析245.设计体会29参考文献2参与设计人员:姓名 学号 班级 负责项目陈盛业 20114419 信管(2) 需求分析李宁 20114432 信管(2) 数据库设计、分析向绍鹏 20114462 信管(2) 绪论 、设计体会阳治安 20114466 信管(2) 数据库设计、分析1.1选题的目的及意义银行管理系统:该系统要求建立的用户表并不是很多,完成的功能也相对有限,但其中各个表

2、之间的联系很紧密,该系统对数据库表的设计要求会很高,所以完成这个题目,能更好的训练数据库设计和 VC的编程能力,选择该题目就是充分训练数据库表设计的能力和运用 VC的能力。1.2 设计内容用户管理模块:建立新用户、删除老用户、更改用户操作;账户操作模块:账户信息、活期存取款操作、查询活期操作记录、定期存款、定期取款、查询定期操作记录;数据库模块:数据库备份、数据库恢复;2 需求分析2.1功能需求对于用户部分,能够新建和删除用户,在操作过程中可以更改用户;对于账户部分,可以查询用户的信息,包括各种基本信息、活期余额、定期账单等;对于账户操作部分,有活期存取款、定期存取款操作,另外操作完成之后存储

3、相应的操作记录并能够查询操作记录等功能。2.2数据需求32.21 数据字典银行管理系统数据流图中,数据信息和处理过程需要通过数据字典才能描述清楚。在定义的银行数据库管理系统数据字典中,主要对数据流图中的账户信息定期历史操作记录定期存款定期取款活期操作进行说明。【1】数据需求的描述(1)数据项名称:帐号含义说明:惟一标识一个用户类型:数字型长度:20逻辑关系:不允许为空(2)数据项名称:开户人姓名类型:字符型长度:20逻辑关系:不允许为空(3)数据项名称:账户密码类型:数字型长度:6逻辑关系:不允许为空(4)数据项名称:身分证号类型:数字型长度:20逻辑关系:不允许为空(5)数据项名称:账户余额

4、4类型:数字型逻辑关系:不允许为空(6)数据项名称:开户日期类型:数字型逻辑关系:不允许为空(7)数据项名称:开户地址类型:字符型长度:30逻辑关系:不允许为空(8)数据项名称:利息类型:数字型逻辑关系:不允许为空(9)数据项名称:金额含义说明:可以表示为存入和支出类型:数字型逻辑关系:不允许为空(10)数据项名称:存入日期类型:数字型逻辑关系:不允许为空(11)数据项名称:存款人姓名类型:字符型长度:10逻辑关系:不允许为空(12) 数据项名称:存储年份类型:数字型5逻辑关系:不允许为空(13) 数据项名称:存储利率类型:float 型逻辑关系:不允许为空(14)数据项名称:取款人姓名 类型

5、:字符型长度:10逻辑关系:不允许为空【2】.数据结构的描述(1)数据名字:注册申请表数据来源:储户数据目的:储户信息数据组成:姓名+密码+ 住址 +身份证号码(2)数据名字:储户信息表数据来源:储户数据目的:身份验证数据组成:姓名+密码+ 住址 +身份证号码+现有金额(3)数据名字:利息清单数据来源:系统数据目的:储户数据组成:利息+姓名+ 取款时间(4)数据名字:存单数据来源:存款信息表数据目的:储户6数据组成:姓名+到期时间+ 存入类型+存入时间+利率 +存入金额 (5)数据名字:取款单数据来源:储户 数据目的:取款信息表数据组成:姓名+到期时间+ 存入类型+存入时间+利率 +取款金额+

6、 身份证号(6)数据名字:存款单数据来源:储户数据目的: 存款信息表数据组成:姓名+到期时间+ 存入类型+存入时间+利率 +存入金额+ 身份证号【3】. 数据存储描述(1)数据存储名称:储户基本表含义说明:存放储户的有关信息组成结构:储户信息包括账号,姓名,密码,身份证号,性别,帐户余额,开户日期,开户地址。说明:储户帐号具有惟一性和非空性。(2)数据存储名称:活期存取款表含义说明:存放活期存取款的信息组成结构:活期存取款包括帐号,金额,办理日期,利息,账户余额;说明:帐号具有惟一性和非空性.(3)数据存储名称:定期存款表;7含义说明:存放定期存款的信息组成结构:帐号,存款人姓名,金额,存储年

7、份,年利率,存储日期说明:帐号,存储日期,存储年份,年利率具有惟一性和非空性.(4)数据存储名称:定期取款表;含义说明:存放定期取款的信息组成结构:帐号,取款人姓名,取款金额,取款日期.说明:帐号,取款人姓名,取款日期具有惟一性和非空性.(5)数据存储名称:定期记录表 含义说明:存放定期存取款的信息组成结构:帐号,存取款人姓名,操作金额,年份,操作日期说明:帐号,操作日期具有惟一性和非空性.3. 数据库设计3.1概念结构设计8帐号银行 储户开户地址姓名性别帐户余额开户日期密码 身份证号定期操作记录活期操作记录图 1银行基本信息实体图 图 2储户基本信息实体图定期记录存取款人姓名操作日期帐号操作

8、金额年份图 3定期记录基本信息实体图9活期存取款存储帐号银行 储户开户地址姓名性别帐户余额开户日期密码身份证号定期存取款定期操作记录活期操作记录图 4 合并部分视图生成 E-R图3.2 逻辑结构设计3.2.1 E-R 图向关系模型的转换(1)一个 1:1 联系可转换为一个独立的关系模式,可以与任意一端对应的关系模式合并;(2)一个 1:n 联系可以转换为独立的关系模式,也可以与 n 端对应的关系模式合并;(3)一个 m:n 联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分; 将实体转化为关系模式。由E-R 图转换成关系

9、模式储户(帐号,姓名,密码,身份证号,性别,帐户余额,开户日期,开户地址);10活期存取款(nID,帐号,金额,办理日期,利息,账户余额);定期存款(nID,帐号,存款人姓名,金额,存储年份,年利率,存储日期);定期取款(nID,帐号,取款人姓名,取款金额,取款日期);定期记录(nID,帐号,存取款人姓名,操作金额,操作类型,操作日期)3.2.2 判断每个表分别属于第几范式(1)由储户表(姓名,账号,密码,身份证号,性别,帐户余额,开户日期,开户地址)写出数据依赖:储户姓名身份证号,储户姓名账号,储户姓名地址该表中的各个元组都不可再分、并且无部分函数依赖和传递函数依赖、主码都是候选码,所以该表

10、满足 BCNF范式。(2)由活期存取款表(序号,利息,帐号,金额,办理日期,账户余额);写出数据依赖:利息帐号,利息办理日期,利息金额该表中的每个元组都不可再分、并且无部分函数依赖和传递函数依赖、主码都是候选码,所以该表也满足 BCNF范式。(3)由定期存款表 (序号,年利率,帐号,存款人姓名,金额,存储年份,存储日期)写出数据依赖:年利率存储年份,年利率存储日期,该表中每个元组都不可再分并且无部分函数依赖和传递函数11依赖、主码都是候选码,所以该表同样满足 BCNF范式。(4)由定期取款表 (序号,取款人姓名,帐号,取款金额,取款日期)写出数据依赖:取款人姓名帐号该表中各个元组都不可再分同样

11、无部分函数依赖和传递函数依赖并且主码都是候选码,所以该表同样满足 BCNF范式。(5)由定期记录表(序号,存取款人姓名,帐号,操作金额,操作类型,操作日期)写出数据依赖:存取款人姓名帐号储户(帐号,姓名,密码,身份证号,性别,帐户余额,开户日期,开户地址);活期存取款(nID,帐号,金额,类型,办理日期,利息,账户余额);定期存款(nID,帐号,存款人姓名,金额,存储年份,年利率,存储日期);定期取款(nID,帐号,取款人姓名,取款金额,取款日期);定期记录(nID,帐号,存取款人姓名,类型,操作金额,年份,操作日期)3.3 物理结构设计储户表序号 字段名称 字段描述 数据类型 长度 属性1

12、CNo 帐号 Varchar 20 PK2 CName 开户人姓名 Varhcar 20 非空3 CPassword 登录密码 Char 6 非空4 CID 身份证号 Varchar 20 非空5 CSex 性别 Char 2 非空6 CBalance 帐户余额 Float 8 非空7 CDate 开户日期 Datetime 8 非空8 CAddress 开户地址 Varchar 30 非空12主键:帐号;约束条件:各属性均非空,密码长度为 6位;活期存取款表主键:nID;外键:帐号;被参照表:储户表约束条件:各属性均非空;定期存款表序号 字段名称 字段描述 数据类型 长度 属性1 nID 序

13、号 Int 4 PK2 CNo 帐号 Varchar 20 非空3 CName 存款人姓名 Varchar 10 非空4 CMoney 存款金额 Float 8 非空5 CDate 存款日期 Datetime 8 非空6 CYear 存储年份 Int 4 非空7 CRate 存储利率 Float 8 非空主键:nID;外键:帐号;被参照表:储户表约束条件:各属性均非空;定期取款表序号 字段名称 字段描述 数据类型 长度 属性1 nID 序号 Int 4 PK2 CNo 帐号 Varchar 20 非空3 CName 取款人姓名 Varchar 10 非空4 CMoney 取款金额 Float

14、8 非空5 CDate 取款日期 Datetime 8 非空主键:nID;外键:nID;被参照表:定期存款表约束条件:各属性非空序号 字段名称 字段描述 数据类型 长度 属性1 nID 序号 Int 4 PK2 CNo 帐号 Varchar 20 非空3 CMoney 操作金额 Float 8 非空4 CStyle 操作类型 Varchar 10 非空5 CDate 操作日期 Datetime 8 非空6 CInterest 利息 Float 8 非空7 CBalance 帐户余额 Float 8 非空13定期操作记录表序号 字段名称 字段描述 数据类型 长度 属性1 nID 序号 Int 4

15、 PK2 CNo 帐号 Varchar 20 非空3 CName 存取款人姓名 Float 8 非空4 CStyle 操作类型 Char 4 非空5 CMoney 存取款金额 float 8 非空6 CYear 存储年份 Int 4 非空7 CDate 存取款日期 Datetime 8 非空主键:nID;外键:nID;被参照表:定期存款表,定期取款表约束条件:各属性非空3.4 创建基本表提高查询速度,分别为各表经常查询的列建立索引。(1)为 chuhu(储户表)中的 cno属性建立唯一索引 cno:CREATE UNIQUE INDEX cno_index on chuhutable(cno)

16、;(2)为 Hcq(活期存取款表)中 nid属性建立唯一索引 nid:CREATE UNIQUE INDEX nid_index ON Hcq(nid);(3)为 dqcun (定期存款表)中 nid属性建立降序唯一索引niddesc:CREATE UNIQUE INDEX niddesc ON dqcun(nid desc);(4)为 dqqu (定期取款表)中 nid属性建立升序唯一索引nidasc:CREATE UNIQUE INDEX nidasc ON dqqu(nid asc);(5)为 dqjilu (定期记录表)中 nid属性建立降序唯一索引niddesc:CREATE UNI

17、QUE INDEX niddesc ON dqjilun (nid desc);14数据的载入是一个非常繁杂和重要的过程需要很大的工作量,可分为人工输入与其它格式数据文件导入。该系统只是一个简单的实验系统,所以采用手工输入少量的数据可满足实验要求即可。分别给储户基本信息表,活期存取款基本信息表,定期存款基本信息表,定期取款基本信息表和定期操作记录基本信息表输入数据。下面若干个表分别显示了所要求的表基本信息息的录入和显示的结果(1)创建储户表Create table chuhu(CNo int primary key,CName char(20) not null,CPassword int n

18、ot null,CID int not null,CAddress char(20) not null,CBalance int not null,CDate datetime not null,CSex char(2) not null,)15图 5 利用查询编辑器创建储户信息表 图 6 储户信息表(2)创建活期存取款表Create table Hcq (nID int primary key,CNo int not null,CMoney int not null,CBalance int not null,16CDate datetime not null,CInterest int n

19、ot null,)图 7 利用查询编辑器创建活期存取款表17图 8 活期存取款表(3)创建定期存款表Create table dqcun(nID int primary key, CNo int not null,CName char(10) not null,CMoney int not null,Crate float not null,CYear int not null,CDate datetime not null,)图 9 利用查询编辑器创建定期存款表18图 10 定期存款表 (4)创建定期取款表Create table dqqu(nID int primary key,CNo i

20、nt not null,CDate datetime not null,CMoney int not null,CName char(20) not null,)19图 11 利用查询编辑器创建定期取款表图 12 定期取款表 (5)定期操作记录表Create table dqjilu(nID int primary key,CNo int not null,20CDate datetime not null,CStyle char(4) not null,CMoney int not null,CName char(8) not null,)图 13 利用查询编辑器创建定期操作记录表21图 1

21、4 定期操作记录表3.4.1 为系统创建视图(1)储户表的视图图 15 储户表的视图(2)活期存取款表的视图22图 16 活期存取款表的视图(3)定期存款表的视图23图 17 定期存款表的视图(4)定期取款表的视图24图 18 定期取款表的视图(5)定期操作记录的视图图 19 定期操作记录的视图4.设计结果及分析4.1 查询与结果分析(1)查询储户姓名为王刚的用户的信息结果为 :25图 20 查询储户姓名为王刚的用户的信息(2)查询操作金额为 85000 元用户的帐号结果为 :图 21 查询操作金额为 85000 元用户的帐号(3)查询定期存取款表中序号为 1 的用户的名字26结果为 :图 2

22、2 查询定期存取款表中序号为 1 的用户的名字(4)为储户表插入一条数据(10012365,张朋,000236,31426003017,鞍山,64,2003-12-20,男)的信息结果为 :27图 23 为储户表插入一条数据信息(5)创建角色 u1并将对储户表查询,修改和插入的功能赋给角色 u1create role u1grant select,update,inserton chuhu to u1结果为:图 24 创建角色 u1并将对储户表查询,修改和插入的功能赋给角色 u1(6) 收回角色 u1储户表修改的功能revoke updateon chuhufrom u1结果为:28图 25

23、收回角色 u1储户表修改的功能(7)删除角色 u1结果为:图 26 删除角色 u1(8)建立触发器,当向储户表插入新信息后,打印出又添加了一个供应商信息字样结果为:29图 27 建立触发器(9)创建查看一个储户的基本信息的存储过程结果为:图 28 创建存储过程5.设计体会这次银行管理系统课程设计,我主要采用是 Microsoft 30SQL Severe2005数据库设计软件。通过这次课程设计,加深了我对课程设计的理解。通过这次数据库课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上

24、有了更高的认识,从需求分析,到概念设计和逻辑设计,E-R 图的表示,数据字典的创建,我懂得了不少数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立和理解,增强了自己在数据库中应用 SQL语言的灵活性,其中包括插入、删除、修改、查询,牵涉表与表之间的联系,主键与外键的定义约束项的设置,使逻辑更严密。在整个学习与设计过程中,在课程设计过程中不免遇到各种各样的困难,通过与同学间的探讨,查阅资料解决困难,增强了自己的自学能力.这次课程设计让我知道了什么叫做付出才有回报.这次课程设计给了我一个锻炼自己,强化专业知识的机会,通过这次课程设计,我相信,只要认真学习,多借鉴别人的经验,多思考,多实践,最后就能成功了。在实验中我上网查阅了不少参考资料,并学以致用,自我创新,从学到用又从用到学,不断修改,同时加强了自己对理论知识的学习与理解,这对完善系统设计有很大帮助。总之在这次设计过程中我受益匪浅,为以后工作打下了坚实的基础此次设计的银行管理系统实现的功能还很有限,都是些基本的功能,还有很多改进完善的地方,比如办理信用卡的业务,此次只是办理的银行储蓄卡的业务;实现帐号密码变更的功能,查询列出同一用户多个帐户的功能。这些功能等以后再添加了,因为这次课程设计时间有限,所以完成的功能也就很有限,但

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报