银行管理系统数据库.doc_第1页
银行管理系统数据库.doc_第2页
银行管理系统数据库.doc_第3页
银行管理系统数据库.doc_第4页
银行管理系统数据库.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

_吉首大学张家界学院数据库系统概念课程设计 题 目 学 号学生姓名 院 系专 业指导教师二一六 年 月 日 学生选课系统的设计一、绪论1.1 目的和意义银行管理系统:该系统要求建立的用户表并不是很多,完成的功能也相对有限,但其中各个表之间的联系很紧密,该系统对数据库表的设计要求会很高,所以完成这个题目,能更好的训练数据库设计和VC的编程能力,选择该题目就是充分训练数据库表设计的能力和运用VC的能力。1.2 内容和要求用户管理模块:建立新用户、删除老用户、更改用户操作;账户操作模块:账户信息、活期存取款操作、查询活期操作纪录、定期存款、定期取款、查询定期操作纪录;数据库模块:数据库备份、数据库恢复;二、需求分析2.1系统用户对于用户部分,能够新建和删除用户,在操作过程中可以更改用户;对于账户部分,可以查询用户的信息,包括各种基本信息、活期余额、定期账单等;对于账户操作部分,有活期存取款、定期存取款操作,另外操作完成之后存储相应的操作纪录并能够查询操作纪录等功能。银行帐目管理系统包括五个模块,分别为系统选项、帐目管理、查询统计、用户查询和帮助。2.2系统主要功能帐目管理模块:主要处理用户的日常操作。(1)开户:新建一个帐户,为其指定一个唯一的帐号来标志该用户(2)销户:将指定用户的帐号删除。用户输入密码经过验证成功后,把帐户的余额全部取出,最后删除该帐户。(3)存款:向指定的帐户中存入一笔钱,经用户输入密码确认后,方可存入。(4)取款:从指定的帐户中取出一笔钱。取款前用户需要输入密码确认,取款后帐户余额不得少于帐户的最低存款额,否则不予处理。(5)修改信息:选择一个存在的帐户,然后输入密码经确认后进入用户信息窗口,可对里面的密码、联系电话和家庭住址进行修改,而帐号和帐户上的金额不能被用户修改。查询模块:按照指定方式进行查找帐户信息,包括按姓名、帐号和联系电话进行查找,也可以按照地址进行模糊查找。统计模块:对银行的数据进行统计,如对帐户数量的统计。其系统功能模块如图2-1:图2-1 系统功能模块2.3 开发技术开发工具:MYSQL开发语言:SQL开发技术:数据库开发技术面向对象:需求者MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。本实验将设计出一个银行账目管理数据库系统,其要求简要如下:三、概念结构设计本章节主要包含概念设计、E-R图,以及如何将E-R图转换为实际的物理模型等内容。3.1 概念设计在我们的数据库系统中共有5个实体:储户、活期存取款、定期存款、定期取款、定期记录。(1)储户的属性:账号、姓名、密码、身份证号、性别、账户余额、开户日期、开户地址(2)活期存取款的属性:账号、金额、类型、办理日期、利息、账户余额(3)定期存款的属性:账号、存款人姓名、金额、存储年份、年利率、存储日期(4)定期取款的属性:账号、取款人姓名、取款金额、取款日期(5)定期记录的属性:账号、存取款人姓名、类型、操作金额、操作日期3.2 E-R图图1银行基本信息实体图 图2储户基本信息实体图图3定期记录基本信息实体图合并画出数据库系统的E-R图,如图3-7所示:图3-7 数据库系统E-R图四、逻辑结构设计4.1 逻辑转换根据3.2节中的E-R图可以将系统中的概念模型转换为具体的表(即关系)结构,共分为7个关系,详细信息如下所示:(1)储户(账号、姓名、密码、身份证号、性别、账户余额、开户日期、开户地址)(2)活期存取款(账号、金额、类型、办理日期、利息、账户余额)(3)定期存款(账号、存款人姓名、金额、存储年份、年利率、存储日期)(4)定期取款的(账号、取款人姓名、取款金额、取款日期)(5)定期记录(账号、存取款人姓名、类型、操作金额、操作日期)4.2 细化表结构为方便,根据上述文字描述,用英文简写为表和列取名,确定列的数据类型及必要的约束规则,给出如下所示数据库表的基本结构及说明:(1)储户表列名字段描述数据类型约束CNo账号varchar(20)主码CName开户人姓名varchar(20)not null, CPassword登录密码char(6)Not nullCID身份证号varchar(20)not null,CSex性别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 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)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 创建表提高查询速度,分别为各表经常查询的列建立索引。(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 nidasc ON dqqu(nid asc);(5)为dqjilu (定期记录表)中nid属性建立降序唯一索引niddesc:CREATE UNIQUE INDEX niddesc ON dqjilun (nid desc);数据的载入是一个非常繁杂和重要的过程需要很大的工作量,可分为人工输入与其它格式数据文件导入。该系统只是一个简单的实验系统,所以采用手工输入少量的数据可满足实验要求即可。分别给储户基本信息表,活期存取款基本信息表,定期存款基本信息表,定期取款基本信息表和定期操作记录基本信息表输入数据。下面若干个表分别显示了所要求的表基本信息息的录入和显示的结果(1)创建储户表Create table chuhu(CNo int primary key,CNamechar(20) not null,CPasswordint not null,CIDint not null,CAddresschar(20) not null,CBalanceint not null,CDatedatetime not null,CSexchar(2) not null,) 图5利用查询编辑器创建储户信息表 图6储户信息表(2)创建活期存取款表Create table Hcq (nID int primary key,CNo int not null,CMoney int not 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 datetime 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,CStyle 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元用户的帐号结果为 : 图21查询操作金额为85000元用户的帐号(3)查询定期存取款表中序号为1的用户的名字结果为 :图22查询定期存取款表中序号为1的用户的名字(4)为储户表插入一条数据(5,张朋,123456,0000006,湖北,64,2016-12-01 00:00:00,男)的信息结果为 : 图23为储户表插入一条数据信息(5)创建角色u1并将对储户表查询,插入的功能赋给角色zyj2CREATE USER zyj2localhost IDENTIFIED BY 123456;GRANT SELECT, INSERT ON bank.chuhu TO zyj2localhost;结果为:. 图24创建角色u1并将对储户表查询,修改和插入的功能赋给角色u1(6) 收回角色u1储户表修改的功能REVOKE SELECT ON bank.chuhu FROM zyj%;结果为: 图25收回角色u1储户表修改的功能(7)删除角色u1DROP USER zyjlocalhost;结果为: 图26删除角色u1(8)建立触发器,当向储户表插入新信息后,打印出又添加了一个供应商信息字样结果为: 图27建立触发器(9)创建查看一个储户的基本信息的存储过程结果为: 图28创建存储过程六、总结这次银行管理系统课程设计,我主要采用是mysql数据库设计软件。通过这次课程设计,加深了我对课程设计的理解。通过这次数据库课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有了更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,我懂得了不少数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立和理解,增强了自己在数据库中应用SQL语言的灵活性,其中包括插入、删除、修改、查询,牵涉表与表之间的联系,主键与外键的定义约束项的设置,使逻辑更严密。在整个学习与设计过程中,在课

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论