




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计说明书 No 25银行管理系统1.课程设计的目的应用对数据库系统概论的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。实践和巩固在课堂教学中学习的关于数据库的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库银行管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。2.设计方案论证2.1问题提出银行是一个国家正常运转必不可缺的机构,当今社会,几乎是每个人都会涉及到储蓄业务,为此,为方便用户查询和使用各种业务,可用计算机为工具对查询管理为一体的各种服务。当然,这样的一个银行储蓄业务系统就应运而生了。本系统是一个简单的储蓄系统,可以对储户的信息进行查询修改以及删除。2.2可行性研究2.2.1技术可行性1硬件环境: CPU:2.0GH以上 内存:2GB以上2软件环境: 操作系统:Mecrosoft Windows XP运行环境:SQL Server 2005建模工具:Microsoft Visio,word编辑器2.2.2运行可行性当今社会所有的银行使用计算机数据库来做管理。我们通过该课程设计,应该达到的目的是把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。本系统是银行用户的存取款系统。主要功能是管理各个用户存取款的相关数据。储户填写的存款单或取款单输入系统,如果是存款,则系统记录存款人姓名,住址(或电话号码),身份证号码,存款类型,存款金额,存款日期等信息,并打印存单给储户;如果是取款,则需要输入帐号、取款金额等信息,核对正确后系统打印出清单给储户。2.3需求分析2.3.1需求分析对于用户部分,能够新建和删除用户,在操作过程中可以更改用户;对于账户部分,可以查询用户的信息,包括各种基本信息、活期余额、定期账单等;对于账户操作部分,有活期存取款、定期存取款操作,另外操作完成之后存储相应的操作记录并能够查询操作记录等功能。应用计算机管理后,由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。2.3.2数据字典银行管理系统数据流图中,数据信息和处理过程需要通过数据字典才能描述清楚。在定义的银行数据库管理系统数据字典中,主要对数据流图中的账户信息定期历史操作记录定期存款定期取款活期操作进行说明。【1】数据需求的描述(1)数据项名称:帐号含义说明:惟一标识一个用户类型:数字型长度:20逻辑关系:不允许为空(2)数据项名称:开户人姓名类型:字符型长度:20逻辑关系:不允许为空(3)数据项名称:账户密码类型:数字型长度:6逻辑关系:不允许为空(4)数据项名称:身分证号类型:数字型长度:20逻辑关系:不允许为空(5)数据项名称:账户余额类型:数字型逻辑关系:不允许为空(6)数据项名称:开户日期类型:数字型逻辑关系:不允许为空(7)数据项名称:开户地址类型:字符型长度:30逻辑关系:不允许为空(8)数据项名称:利息类型:数字型 逻辑关系:不允许为空(9)数据项名称:金额含义说明:可以表示为存入和支出 类型:数字型 逻辑关系:不允许为空(10)数据项名称:存入日期类型:数字型 逻辑关系:不允许为空(11)数据项名称:存款人姓名 类型:字符型 长度:10 逻辑关系:不允许为空(12) 数据项名称:存储年份 类型:数字型 逻辑关系:不允许为空(13) 数据项名称:存储利率 类型:float型 逻辑关系:不允许为空(14)数据项名称:取款人姓名 类型:字符型 长度:10逻辑关系:不允许为空【2】.数据结构的描述(1)数据名字:注册申请表数据来源:储户数据目的:储户信息数据组成:姓名+密码+住址+身份证号码(2)数据名字:储户信息表数据来源:储户数据目的:身份验证数据组成:姓名+密码+住址+身份证号码+现有金额(3)数据名字:利息清单数据来源:系统数据目的:储户数据组成:利息+姓名+取款时间(4)数据名字:存单数据来源:存款信息表数据目的:储户数据组成:姓名+到期时间+存入类型+存入时间+利率+存入金额 (5)数据名字:取款单数据来源:储户 数据目的:取款信息表数据组成:姓名+到期时间+存入类型+存入时间+利率+取款金额+身份证号(6)数据名字:存款单数据来源:储户数据目的: 存款信息表数据组成:姓名+到期时间+存入类型+存入时间+利率+存入金额+身份证号【3】. 数据存储描述(1)数据存储名称:储户基本表含义说明:存放储户的有关信息组成结构:储户信息包括账号,姓名,密码,身份证号,性别,帐户余额,开户日期,开户地址。说明:储户帐号具有惟一性和非空性。(2)数据存储名称:活期存取款表 含义说明:存放活期存取款的信息组成结构:活期存取款包括帐号,金额,办理日期,利息,账户余额;说明:帐号具有惟一性和非空性.(3)数据存储名称:定期存款表; 含义说明:存放定期存款的信息组成结构:帐号,存款人姓名,金额,存储年份,年利率,存储日期说明:帐号,存储日期,存储年份,年利率具有惟一性和非空性.(4)数据存储名称:定期取款表; 含义说明:存放定期取款的信息组成结构:帐号,取款人姓名,取款金额,取款日期.说明:帐号,取款人姓名,取款日期具有惟一性和非空性.(5)数据存储名称:定期记录表 含义说明:存放定期存取款的信息组成结构:帐号,存取款人姓名,操作金额,年份,操作日期说明:帐号,操作日期具有惟一性和非空性.2.4 概念结构设计2.4.1概念结构设计的方法概念设计阶段采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。2.4.2概念结构设计的步骤第一步是进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。因此先逐一的设计分E-R图。第二步是进行视图的集成:各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E-R图。我想采用一次集成多个分E-R图的方式。2.4.3数据抽象与局部视图设计帐号银行储户开户地址姓名性别帐户余额开户日期密码身份证号定期操作记录活期操作记录图1银行基本信息实体图 图2储户基本信息实体图定期记录存取款人姓名操作日期帐号操作金额年份图3定期记录基本信息实体图活期存取款存储帐号银行储户开户地址姓名性别帐户余额开户日期密码身份证号定期存取款定期操作记录活期操作记录图4 合并部分视图生成E-R图2.5逻辑结构设计2.5.1 E-R图向关系模型的转换(1)一个1:1联系可转换为一个独立的关系模式,可以与任意一端对应的关系模式合并;(2)一个1:n联系可以转换为独立的关系模式,也可以与n端对应的关系模式合并;(3)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分; 将实体转化为关系模式。由E-R图转换成关系模式储户(帐号,姓名,密码,身份证号,性别,帐户余额,开户日期,开户地址);活期存取款(nID,帐号,金额,办理日期,利息,账户余额);定期存款(nID,帐号,存款人姓名,金额,存储年份,年利率,存储日期);定期取款(nID,帐号,取款人姓名,取款金额,取款日期);定期记录(nID,帐号,存取款人姓名,操作金额,操作类型,操作日期)2.5.2判断每个表分别属于第几范式(1)由储户表(姓名,账号,密码,身份证号,性别,帐户余额,开户日期,开户地址)写出数据依赖:储户姓名身份证号,储户姓名账号,储户姓名地址该表中的各个元组都不可再分、并且无部分函数依赖和传递函数依赖、主码都是候选码,所以该表满足BCNF范式。(2)由活期存取款表(序号,利息,帐号,金额,办理日期,账户余额);写出数据依赖:利息帐号,利息办理日期,利息金额该表中的每个元组都不可再分、并且无部分函数依赖和传递函数依赖、主码都是候选码,所以该表也满足BCNF范式。(3)由定期存款表 (序号,年利率,帐号,存款人姓名,金额,存储年份,存储日期)写出数据依赖:年利率存储年份,年利率存储日期,该表中每个元组都不可再分并且无部分函数依赖和传递函数依赖、主码都是候选码,所以该表同样满足BCNF范式。(4)由定期取款表 (序号,取款人姓名,帐号,取款金额,取款日期)写出数据依赖:取款人姓名帐号该表中各个元组都不可再分同样无部分函数依赖和传递函数依赖并且主码都是候选码,所以该表同样满足BCNF范式。(5)由定期记录表(序号,存取款人姓名,帐号,操作金额,操作类型,操作日期)写出数据依赖:存取款人姓名帐号2.5.3数据库的结构 表1储户表序号字段名称字段描述数据类型长度属性1CNo帐号int20PK2CName开户人姓名Varhcar20非空3CPassword登录密码int6非空4CID身份证号int20非空5CSex性别Char 2非空6CBalance帐户余额int8非空7CDate开户日期datetime8非空8CAddress开户地址Varchar30非空主键:帐号;约束条件:各属性均非空,密码长度为6位;表2活期存取款表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号int20非空3CMoney操作金额int8非空4CDate操作日期Datetime8非空5CInterest利息int8非空6CBalance帐户余额int8非空主键:nID;外键:帐号;被参照表:储户表约束条件:各属性均非空;表3定期存款表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号int20非空3CName存款人姓名Varchar10非空4CMoney存款金额int8非空5CDate存款日期Datetime8非空6CYear存储年份Int4非空7CRate存储利率Float8非空主键:nID;外键:帐号;被参照表:储户表约束条件:各属性均非空;表4定期取款表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号int20非空3CName取款人姓名Varchar10非空4CMoney取款金额int8非空5CDate取款日期Datetime8非空主键:nID;外键:nID;被参照表:定期存款表约束条件:各属性非空表5定期操作记录表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号int20非空3CName存取款人姓名char8非空4CStyle操作类型Char4非空5CMoney存取款金额int8非空6CDate存取款日期Datetime8非空主键:nID;外键:nID;被参照表:定期存款表,定期取款表约束条件:各属性非空2.5.4创建基本表提高查询速度,分别为各表经常查询的列建立索引。(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活期存取款表(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定期操作记录表2.5.5为系统创建视图(1)储户表的视图 图15 储户表的视图(2)活期存取款表的视图 图16活期存取款表的视图(3)定期存款表的视图 图17 定期存款表的视图(4)定期取款表的视图 图18 定期取款表的视图(5)定期操作记录的视图 图19 定期操作记录的视图3.设计结果及分析3.1 查询与结果分析(1)查询储户姓名为王刚的用户的信息结果为 : 图20查询储户姓名为王刚的用户的信息(2)查询操作金额为85000元用户的帐号结果为 : 图21查询操作金额为85000元用户的帐号(3)查询定期存取款表中序号为1的用户的名字结果为 :图22查询定期存取款表中序号为1的用户的名字(4)为储户表插入一条数据(,张朋,鞍山,64,2003-12-20,男)的信息结果为 : 图23为储户表插入一条数据信息(5)创建角色u1并将对储户表查询,修改和插入的功能赋给角色u1create role u1grant select,update,inserton chuhu to u1结果为: 图24创建角色u1并将对储户表查询,修改和插入的功能赋给角色u1(6) 收回角色u1储户表修改的功能revoke updateon chuhufrom u1结果为: 图25收回角色u1储户表修改的功能(7)删除角色u1结果为: 图26删除角色u1(8)建立触发器,当向储户表插入新信息后,打印出又添加了一个供应商信息字样结果为: 图27建立触发器(9)创建查看一个储户的基本信息的存储过程结果为: 图28创建存储过程4设计体会这次银行管理系统课程设计,我主要采用是Microsoft SQL Severe2005数据库设计软件。通过这次课程设计,加深了我对课程设计的理解。通过这次数据库课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有了更
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论