1、整理银行管理系统大数据库银行管理系统大数据库 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(银行管理系统大数据库)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为银行管理系统大数据库的全部内容。吉首大学张家界学院数据库系统概念课程设计 题 目 学 号 学生姓名 院 系 专 业 指导教师 二一六 年 月 日 学生选课系统的设
2、计一、绪论1。1 目的和意义银行管理系统:该系统要求建立的用户表并不是很多,完成的功能也相对有限,但其中各个表之间的联系很紧密,该系统对数据库表的设计要求会很高,所以完成这个题目,能更好的训练数据库设计和VC的编程能力,选择该题目就是充分训练数据库表设计的能力和运用VC的能力.1.2 内容和要求用户管理模块:建立新用户、删除老用户、更改用户操作;账户操作模块:账户信息、活期存取款操作、查询活期操作纪录、定期存款、定期取款、查询定期操作纪录;数据库模块:数据库备份、数据库恢复;二、需求分析2。1系统用户对于用户部分,能够新建和删除用户,在操作过程中可以更改用户;对于账户部分,可以查询用户的信息,
3、包括各种基本信息、活期余额、定期账单等;对于账户操作部分,有活期存取款、定期存取款操作,另外操作完成之后存储相应的操作纪录并能够查询操作纪录等功能。银行帐目管理系统包括五个模块,分别为系统选项、帐目管理、查询统计、用户查询和帮助。2.2系统主要功能帐目管理模块:主要处理用户的日常操作。(1)开户:新建一个帐户,为其指定一个唯一的帐号来标志该用户(2)销户:将指定用户的帐号删除。用户输入密码经过验证成功后,把帐户的余额全部取出,最后删除该帐户。(3)存款:向指定的帐户中存入一笔钱,经用户输入密码确认后,方可存入。(4)取款:从指定的帐户中取出一笔钱.取款前用户需要输入密码确认,取款后帐户余额不得
4、少于帐户的最低存款额,否则不予处理.(5)修改信息:选择一个存在的帐户,然后输入密码经确认后进入用户信息窗口,可对里面的密码、联系电话和家庭住址进行修改,而帐号和帐户上的金额不能被用户修改.查询模块:按照指定方式进行查找帐户信息,包括按姓名、帐号和联系电话进行查找,也可以按照地址进行模糊查找。统计模块:对银行的数据进行统计,如对帐户数量的统计。其系统功能模块如图2-1:图2-1 系统功能模块2。3 开发技术开发工具:MYSQL开发语言:SQL开发技术:数据库开发技术面向对象:需求者MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQ
5、L 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。本实验将设计出一个银行账目管理数据库系统,其要求简要如下:三、概念结构设计本章节主要包含概念设计、ER图,以及如何将ER图转换为实际的物理模型等内容。3。1 概念设计在我们的数据库系统中共有5个实体:储户、活期存取款、定期存款、定期取款、定期记录.(1)储户的属性:账号、姓名、密码、身份证号、性别、账户余额、开户日期、开户地址(2)活期存取款的属性:账号、金额、类型、办理日期、利息、账户余额(3)
6、定期存款的属性:账号、存款人姓名、金额、存储年份、年利率、存储日期(4)定期取款的属性:账号、取款人姓名、取款金额、取款日期(5)定期记录的属性:账号、存取款人姓名、类型、操作金额、操作日期3。2 E-R图图1银行基本信息实体图 图2储户基本信息实体图图3定期记录基本信息实体图合并画出数据库系统的ER图,如图3-7所示:图37 数据库系统ER图四、逻辑结构设计4.1 逻辑转换根据3.2节中的E-R图可以将系统中的概念模型转换为具体的表(即关系)结构,共分为7个关系,详细信息如下所示:(1)储户(账号、姓名、密码、身份证号、性别、账户余额、开户日期、开户地址)(2)活期存取款(账号、金额、类型、
7、办理日期、利息、账户余额)(3)定期存款(账号、存款人姓名、金额、存储年份、年利率、存储日期)(4)定期取款的(账号、取款人姓名、取款金额、取款日期)(5)定期记录(账号、存取款人姓名、类型、操作金额、操作日期)4。2 细化表结构为方便,根据上述文字描述,用英文简写为表和列取名,确定列的数据类型及必要的约束规则,给出如下所示数据库表的基本结构及说明:(1)储户表列名字段描述数据类型约束CNo账号varchar(20)主码CName开户人姓名varchar(20)not null, CPassword登录密码char(6)Not nullCID身份证号varchar(20)not null,CS
8、ex性别char(2)not nullCBalance账户余额Float(8)not null,CDate开户日期Datetime(8)not null,CAddress开户地址varchar(30)not null,(2)活期存取款表列名说明数据类型约束nID序号int(4)主码CNo账号varchar(20)not null CMoney操作金额Float(8)not nullCStyle操作类型varchar(10)not null”CDate操作日期Datetime(8)not nullCInterest利息Float(8)not nullCBalance账户余额Float(8)not
9、 null,(3)定期存款表列名说明数据类型约束nID序号int(4)主码CNo账号varchar(20)not null CName存款人姓名varchar(20)not null, CMoney存款金额Float(8)not nullCDate存款日期Datetime(8)not nullCYear存储年份int(4)not nullCRate存储利率Float(8)not null(4)定期取款表列名说明数据类型约束nID序号int(4)主码CNo账号varchar(20)not null CName取款人姓名varchar(20)not null, CMoney取款金额Float(8)
10、not nullCDate取款日期Datetime(8)not null(6)定期操作记录表列名说明数据类型约束nID 序号 Int (4)主码 CNo帐号Varchar(20)not null CName存取款人姓名Float(8)not null CStyle操作类型char(4)not nul CMoneyfloat8float(8)not nul CYear存储年份Int(4)not nul CDate存取款日期Datetime(8)not nul 五、数据库实施本章节主要包含创建表、添加数据和创建必要的视图、触发器和存储过程等内容。5。1 创建表提高查询速度,分别为各表经常查询的列建
11、立索引。(1)为chuhu(储户表)中的cno属性建立唯一索引cno:CREATE UNIQUE INDEX cno_index on chuhutable(cno);(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
12、nidasc ON dqqu(nid asc);(5)为dqjilu (定期记录表)中nid属性建立降序唯一索引niddesc:CREATE UNIQUE INDEX niddesc ON dqjilun (nid desc);数据的载入是一个非常繁杂和重要的过程需要很大的工作量,可分为人工输入与其它格式数据文件导入.该系统只是一个简单的实验系统,所以采用手工输入少量的数据可满足实验要求即可。分别给储户基本信息表,活期存取款基本信息表,定期存款基本信息表,定期取款基本信息表和定期操作记录基本信息表输入数据.下面若干个表分别显示了所要求的表基本信息息的录入和显示的结果(1)创建储户表Create
13、 table chuhu(CNo int primary key,CName char(20) not null, CPassword int not null,CID int not null,CAddress char(20) not null,CBalance int not null,CDate datetime not null,CSex char(2) not null,) 图5利用查询编辑器创建储户信息表 图6储户信息表(2)创建活期存取款表Create table Hcq (nID int primary key,CNo int not null,CMoney int not
14、null,CBalance int not null,CDate datetime not null,CInterest int not null,) 图7利用查询编辑器创建活期存取款表图8利用查询编辑器插入活期存取款用户表图8利用查询编辑器查询活期存取款用户表 图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 dat
15、etime not null,) 图9利用查询编辑器创建定期存款表 图10定期存款表 (4)创建定期取款表Create table dqqu(nID int primary key,CNo int not null,CDate datetime not null,CMoney int not null,CName char(20) not null,)图11利用查询编辑器创建定期取款表 图12定期取款表 (5)定期操作记录表Create table dqjilu(nID int primary key,CNo int not null,CDate datetime not null,CStyl
16、e char(4) not null,CMoney int not null,CName char(8) not null,)图13利用查询编辑器创建定期操作记录表 图14定期操作记录表)5.2 创建必要视图(1)储户表的视图 图15 储户表的视图(2)活期存取款表的视图 图16活期存取款表的视图(3)定期存款表的视图 图17 定期存款表的视图(4)定期取款表的视图 图18 定期取款表的视图(5)定期操作记录的视图 图19 定期操作记录的视图5。3设计结果及分析(1)查询储户姓名为朱咏江的用户的信息结果为 : 图20查询储户姓名为王刚的用户的信息(2)查询操作金额为大于500元用户的帐号结果为
17、 : 图21查询操作金额为85000元用户的帐号(3)查询定期存取款表中序号为1的用户的名字结果为 :图22查询定期存取款表中序号为1的用户的名字(4)为储户表插入一条数据(5,张朋,123456,0000006,湖北,64,20161201 00:00:00,男)的信息结果为 : 图23为储户表插入一条数据信息(5)创建角色u1并将对储户表查询,插入的功能赋给角色zyj2CREATE USER zyj2localhost IDENTIFIED BY 123456;GRANT SELECT, INSERT ON bank。chuhu TO zyj2localhost;结果为:。 图24创建角色
18、u1并将对储户表查询,修改和插入的功能赋给角色u1(6) 收回角色u1储户表修改的功能REVOKE SELECT ON bank.chuhu FROM zyj%;结果为: 图25收回角色u1储户表修改的功能(7)删除角色u1DROP USER zyjlocalhost;结果为: 图26删除角色u1(8)建立触发器,当向储户表插入新信息后,打印出又添加了一个供应商信息字样结果为: 图27建立触发器(9)创建查看一个储户的基本信息的存储过程结果为: 图28创建存储过程六、总结这次银行管理系统课程设计,我主要采用是mysql数据库设计软件。通过这次课程设计,加深了我对课程设计的理解。通过这次数据库课
19、程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有了更高的认识,从需求分析,到概念设计和逻辑设计,ER图的表示,数据字典的创建,我懂得了不少数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立和理解,增强了自己在数据库中应用SQL语言的灵活性,其中包括插入、删除、修改、查询,牵涉表与表之间的联系,主键与外键的定义约束项的设置,使逻辑更严密.在整个学习与设计过程中,在课程设计过程中不免遇到各种各样的困难,通过与同学间的探讨,查阅资料解决困难,增强了自己的自学能力。这次课程设计让我知道了什么叫做付出才有回报.这次课程设计给了我一个锻炼自己,强化专业知识的机会,通过这次课程设计,我相信,只要认真学习,多借鉴别人的经验,多思考,多实践,最后就能成功了.在实验中我上网查阅了不少参考资料,并学以致用,自我创新,从学到用又从用到学,不断修改,同时加强了自己对理论知识的学习与理解,这对完善系统设计有很大帮助.总之在这次设计过程中我受益匪浅,为以后工作打下了坚实的基础
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1