银行交易系统的设计与实现本科论文.doc

上传人:哈尼dd 文档编号:3975163 上传时间:2019-10-11 格式:DOC 页数:61 大小:464.50KB
返回 下载 相关 举报
银行交易系统的设计与实现本科论文.doc_第1页
第1页 / 共61页
银行交易系统的设计与实现本科论文.doc_第2页
第2页 / 共61页
银行交易系统的设计与实现本科论文.doc_第3页
第3页 / 共61页
银行交易系统的设计与实现本科论文.doc_第4页
第4页 / 共61页
银行交易系统的设计与实现本科论文.doc_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《银行交易系统的设计与实现本科论文.doc》由会员分享,可在线阅读,更多相关《银行交易系统的设计与实现本科论文.doc(61页珍藏版)》请在三一文库上搜索。

1、北京邮电大学毕业设计 银行交易系统的设计与实现 摘要随着我国信息技术的发展,无论是国内银行之间还是国外银行之间,竞争都越来越激烈,怎样高效、方便、快捷的完成用户的要求是银行生存的当务之急。银行管理中的重中之重是有关银行账户与交易的管理,本系统便是为日常银行的交易事务设计的。本系统设计时采用软件工程的思想,按照需求分析、概要设计、详细设计、程序编码、测试等过程开发了一个银行交易系统。对于后台的数据库,本系统采用SQL SERVER 2005与前台界面相关联。整个系统以java作为开发语言在Myeclipse8.5平台上进行设计开发。整个系统主要用来帮助银行处理日常业务,分为管理员模块和普通用户模

2、块。管理员具有对系统的管理权限,可以管理用户信息和交易信息等,普通用户可以进行转账和取现等业务,方便了银行日常业务的操作。关键词:JAVA;数据库;Myeclipse;银行交易系统The design and implementation of Banks trading system Abstract With the development of information technology in our country, whether between domestic Banks and foreign Banks, competition is increasingly fierce

3、, how to efficient, convenient and fast to complete the users requirements is a bank the priority of survival. Top priority is the bank account of bank management and transaction management, this system is designed for daily bank transactions. This system is designed by adopting the idea of software

4、 engineering, according to the demand analysis, general design, detailed design, program coding, testing process to develop a bank trading system. For the background database, this system USES the SQL SERVER 2005 that is associated with the front desk interface. The whole system with Java as a devel

5、opment language on Myeclipse8.5 platform for design and development. The whole system is mainly used to help Banks deal with day-to-day business, divided into administrators and ordinary users module. Administrator has administrative privileges on the system, users can manage information and transac

6、tion information, such as ordinary users can transfer and cash business, convenient bank daily business operations. Key words: Myeclipse;Database;Java;Banks trading systemv目录摘要iAbstractii1 概述11.1 课题名称的来源背景11.2 信息系统与管理信息系统11.2.1 信息系统11.2.2 管理信息系统21.3 银行交易系统的现状与发展趋势21.4 银行交易系统的意义32 系统分析42.1 系统的功能42.2

7、用户需求分析42.3 应用程序结构42.4 系统开发环境53 开发工具简介63.1 Eclipse简介63.2 MyEclipse简介63.3 Eclipse与Myeclipse的区别63.4 介绍JSP63.5 JSP的由来73.6 Jsp的工作原理73.7 JSP的生命周期73.8 JSP与Javabean83.9 SQL Server 200584 系统的功能设计94.1 功能概述94.2 后台数据库设计94.2.1 存储过程94.2.2 设计数据库中的表104.2.3 设计局部E-R模式114.2.4 设计全局E-R模式134.2.5 数据字典145 系统设计185.1 系统设计综述1

8、85.2 系统操作模块195.2.1 系统操作主界面195.2.2 用户账号管理模块205.2.3 账户信息添加模块225.2.4 用户取现模块255.2.5 查询余额管理模块265.2.6 账户明细记录模块286 系统测试316.1 软件测试基本理论316.1.1 软件测试316.1.2 软件测试工程师316.1.3 软件测试基本原则316.1.4 软件测试分类316.2 软件测试过程326.2.1 单元测试326.2.2 集成测试336.2.3 系统测试336.2.4 验收测试336.3 本系统测试实例336.4 系统整体测试346.5 不足与改进34总结35参考文献36致谢371 概述1

9、.1 课题名称的来源背景 银行,通俗的来讲就是人们将暂时不用的钱存进去,交代给银行相关人员进行负责、管理,而在人们需要花费钱时再将它们取出来的金融机构。早在我国西周时期,劳动人们就已经有了银行的些许概念,他们主要是用金属货币来进行交换,促进商品的流通,以满足自己的生活需求。但是,当时的生产力水平毕竟跟现在无法比拟,所谓银行的发展受到很大的限制。真正银行的出现则是在著名的意大利水城威尼斯,由于威尼斯当时是屈指可数的国际贸易中心,频繁的商品交易促进了商品交换的需要,于是出现了保管货币资金的委托人,并有发票做担保。随着委托人手中的货币积累的越来越多,他们不得不考虑扩大这项日渐发展的规模,并开始从事与

10、今天银行相像的存取款业务等,这已经很类似于今天我们随处可见的银行了。而银行的发展最重要的得益于19世纪科学技术的不断进步以及资本主义生产力的蓬勃发展,极大的促进了银行的发展。各国的银行业务不仅在本国范围内高速发展,更是在世界范围内日益进步,壮大。随着社会分工越来越细,各个部门分管的职能有所区别,银行又划分为不同的属性。就我国来说,银行分为中央银行,即中国人们银行,商业银行,政策性银行。我们常见的中国工商银行,中国农业银行,中国银行,中国建设银行,交通银行便是属于商业银行。随着经济的发展,人们对银行业务的需求也越来越高,越来越多样化。为了促进银行的发展,各种银行系统也渐渐完善。本系统的开发主要是

11、根据银行的实际需求而进行,系统整体包括:基础资料管理、银行业务管理、财务报表管理、系统维护管理四大功能模块。对银行的日常业务进行全面管理。“银行交易系统”的出现在传统的银行经营管理模式基础上,结合计算机和网络的应用,使得银行内部信息量增大,方便了银行管理人员的操作,提高了工作效率,减轻了他们的工作量,方便了银行的管理,更重要的是为用户带来极大的便利。银行已经成为我们日常生活中不可缺少的一部分,已经渗透我们生活的方方面面,并且随着我国经济的发展,银行更会在金融方面发挥不可替代的作用。1.2 信息系统与管理信息系统1.2.1 信息系统21世纪是信息科学技术飞速发展的时代,信息技术的应用可谓空前广泛

12、,网络的发展更是促进了信息化的发展。而全球经济的一体化与信息化又是相辅相成的,所以正确客观的认识信息化是必要的。 信息系统虽然感觉庞大陌生,其实早已出现,并逐步改变着我们的日常生活。信息系统实质是一个人机一体化系统,它由人以及计算机硬件、计算机软件、网络、设备、数据资源和相关制度组成,目的是及时、准确地对数据进行输入、存储、处理、输出及控制,也就是对数据实现集中、高效、便利的管理,达到项目的有序,做出正确决策。银行管理系统恰恰需要这种方便周到的信息系统。信息系统包括信息处理系统、管理信息系统、决策支持系统、专家系统和虚拟办公室系统。我们常用的是信息处理和传输。信息处理系统(Data Proce

13、ssing System,简称DPS)对数据仓库进行处理,需要用到联机分析处理和数据挖掘技术从而产生新的数据。数据传输功能也即数据通信,将数据从一方传到另一方,进行交流通信。决策支持系统是对大量收集到的数据进行统计分析,帮助用户解决半结构化和非结构化决策问题,主要是运用概率学和统计学。对于专家系统,则分属于人工智能,是智能领域中最为活跃。虚拟办公室则是可以把任何场所当做办公室的系统,方便了管理人员对工作人员的管理,同时给工作人员带来生活上的便捷,提高了工作积极性和效率。1.2.2 管理信息系统随着人类进入信息时代,信息管理的水平越来越成为衡量国家综合实力的重要标志。信息成为了一种无形的,价值量

14、巨大的资源。过去的所谓的资源多为人、物、资金、能源等。随着信息技术的发展,无形的信息资源也成为我们得以发展的重要因素。把握了无形的信息资源,才能更好的利用有形资源。因而,对于各种信息的管理必须引起我们的高度重视,人们因此研究出来管理信息系统。管理信息系统(MIS)由手工最基础的操作到机器辅助设备,再到如今的使用计算机、打印机等设备发展而来,是一个复杂多元高效准确的人机系统。主要是结合计算机、数据库、网络以及管理学、概率学、统计学等对信息进行合理处理、正确管理。管理信息系统不仅可以对数据有处理功能,而且可以根据提供的现有条件和约束条件的控制下,为各个部门制定计划,比如企业财务管理、库存进出货管理

15、等。除此之外,还具有对计划执行的控制功能,对计划检查,监督。 管理信息系统既是一个技术系统,又是一个社会系统。工作既可以实现人机分离,也可以实现人机统一。不同的情境运用不同的策略,二者相互协调,充分发挥其作用,高效完成作业,大大节约了工作人员的劳动时间。管理信息系统的开发分为五大阶段:规划、设计、实施、维护和评价。完善的管理系统在我国已有了广泛的应用,适应了现代化管理的需要,成为谋求发展的必由之路。1.3 银行交易系统的现状与发展趋势银行交易系统在银行系统中占有重要地位,用户需求增多,市场竞争增大,对银行的经营提出了更高的要求。提高银行核心竞争力除了人为因素外,银行交易系统起的作用更为关键。银

16、行的运行效率、盈利能力、成本和管理水平的高低和银行所使用的交易系统直接挂钩,如果有一套好的银行交易系统,可大大减少应用开发和维护成本,进一步提高银行的综合实力。在这种市场机制之下,促进了银行交易系统的发展。虽然银行交易系统已经广泛用于银行的日常管理中,但不可避免的会出现一些问题需要不断改善。例如,系统不应仅仅局限于功能的实现,还应注意与操作人员的交互是否人性化,最直观的就是界面是否符合使用效果等诸多问题。需要在使用中不断升级,需要快速迭代的进化程序。为了进一步提升银行交易系统的质量,在设计方面已经注重从简思维,繁琐的操作会影响执行效率,只有操作简单,理解简单,才能愿意使得人们消费。其次,更应注

17、意享受银行服务,尽量将银行业务与人们生活结合起来,方便人们的日常生活。再次,合理利用网络,提高银行服务质量。1.4 银行交易系统的意义时间就是金钱,效率就是质量。采用银行交易系统无疑大大提高了银行业务的执行效率,增强了银行的核心竞争力,以面对当今世界对金融等各方面提出的各种风险。同时,提高了银行管理效率,方便了管理员及用户的使用,保障了银行的发展,保证了人们的正常生活。2 系统分析管理信息系统常用的开发方法有结构化系统开发方法、原型方法、面向对象的开发方法、计算机辅助开发方法。本系统采用的是最常用的管理信息系统开发方法结构化系统开发方法。该方法具体分为四个步骤,即系统调研分析、数据库设计实现、

18、界面设计实现和系统功能设计实现,这其中系统调研分析阶段是最为关键,基础、重要。2.1 系统的功能该系统开发的主要任务是实现银行的管理。目的是提高银行管理的工作效率,改善工作环境,降低银行管理成本,实现工作的现代化、系统化、规范化、自动化。该系统开发主要分为两大部分:前台的操作界面部分和后台的数据库部分。前台的操作界面主要实现用户的各种基本操作,比如对基础资料管理、银行业务管理、财务报表管理等功能。后台的数据库方面主要实现系统用到的数据的管理。2.2 用户需求分析软件开发流程为系统需求分析、系统需求定义、总体设计、软件需求分析、数据建模、编码/单元测试、联合测试、系统测试和运行维护。在进行系统设

19、计和开发之前,基础且关键的步骤为进行用户需求分析。对用户的需求进行调查分析,通过与用户的沟通充分了解系统应有的功能,确定系统的总体框架,实现方案,并形成完整的用户需求分析文档。此文档的使用贯穿在系统设计、开发、测试、维护整个过程中,是进行相关活动的参考依据。同时,在设计过程中也可以进一步与用户交流,达到尽量完善系统的目的。该系统经过需求分析,最终确定将其分为管理模块和交易模块。管理模块包括超级管理员和普通管理员的操作模块。交易模块包括取现、转账、查看交易记录等模块。2.3 应用程序结构 应用程序有两种模式:客户端/服务器端应用程序(C/S),该程序一般独立运行;浏览器/服务器端应用程序(B/S

20、),该程序借助浏览器运行。 本系统前台采用的就是建立在B/S架构上的web服务器端的脚本程序,采用了动态网页技术。静态网页和动态网页的区别是web服务器对待方式不同,效率也有区别。 从用户应用角度来看,可把应用程序系统的组成部分分成data layer(数据层)、business layer(业务逻辑层)、persentation layer(显示层)等3个层次。业务逻辑处理中用到servlet,servlet由java和html结合而成。在做显示时主要用jsp,jsp也有java和html结合而成。2.4 系统开发环境(1)数据库的选择:数据库的选择需要结合系统要求、自己机器的情况以及自己的

21、兴趣进行选择。数据库有高低级之分,ACCESS简单易懂,属于低级数据库;DB2,QRACLE,SYBASE则由于比较系统,实力很强,属于高级数据库。本系统中选择了中级数据库SQL Server 2005。SQL Server 2005是微软公司开发的,基于客户端/服务器的关系型数据库管理系统,对应用程序提供了安全可靠,且高效的数据管理平台。可以用于大规模练级事务处理(OLTP),有报表、分析、集成、通知、复制等功能。如此强大功能的SQL Server 2005安装简便,组织、管理数据简单明了,卸载方便容易。(2)开发工具的选择: My Eclipse Enterprise Workbench,

22、简称MyEclipse是我学习期间相对熟悉的一种开发工具。MyEclipse属于企业级工作平台,极易部署,极大的提高了应用程序编程的工作效率,且为J2EE提供了丰富的集成开发环境,容易上手,方便管理,界面熟悉。所以这次系统的设计选择在MyEclipse上进行。本系统整体确定使用下面的开发环境:采用的网络操作系统为:Windows7;采用的数据库服务器为:SQL Server 2005;采用的服务器平台为:Windows7;采用的前台开发工具为:MYECLIPSE;采用的数据访问对象为:JAVA;采用的网络开发语言为:JAVA3 开发工具简介3.1 Eclipse简介 大学较为熟悉的开发工具之一

23、为ECLIPSE,与J2EE结合起来使用不仅方便了我们编程,更是由于它本身的操作比较简单,使得我们对编程的兴趣有了很大提高。之后,随着认识上的提高与进一步的学习,偶然用到了MYECLIPSE。下面就来简单讨论下二者。Eclipse的好处是它包含着JDK(Java Development Kit,JAVA 开发工具),这归功于它自带的一个插件集。虽然就eclipse来看,它仅仅是个框架和相关插件结合起来的跨平台的、源码开放的、有java开发环境的开发工具。正是因为eclipse中插件的一致性,所以开发人员所使用的开发环境也保持一致,这样交付给用户的产品的性质也大同小异。例如,eclipse的开发

24、语言是java,但也支持C编程、C+编程等,再加上简洁的界面和人性化的设计,方便了开发人员的使用。3.2 MyEclipse简介 对于myeclipse来说,它更像是eclipse的集合,eclipse工作依靠插件,因此也可以认为myeclipse强大的功能来自eclipse的各类插件,使得这款产品更满足人们的需要,适应行业的发展。Myeclipse中功能众多,可以完成hibernate,spring,和structs布局,除了普通的编程外,还可以进行调试与测试、设计图样,每种功能对应一种插件,并且这些插件相互独立,互不影响,开发人员可以根据自己的编程需要适当的升级其中某一个插件,而不影响其他

25、插件。这与软件工程中的模块思想类似,只是更容易操作,如此强大却简便的操作深得人心。Myeclipse功能的价值远远大于市场上单独的软件功能,且无论对于个人还是企业来说,其价格都是可以被接受的。这些原因都导致myeclipse的市场占有率越来越大,日渐受到开发人员的欢迎。3.3 Eclipse与Myeclipse的区别 Eclipse与myeclipse的区别如下: Eclipse主要用来进行java应用程序开发,myeclipse主要用来进行javaee应用程序开发,若在eclipse上进行javaee开发,只需安装个相关插件就可以。当然,由于myeclipse所有插件都已存在,形成了一种高级

26、编程环境,程序开发运行时会出现一段反应时间,比eclipse慢些。3.4 介绍JSPJSP(Java Server Page),是一种实现普通静态HTML和动态HTML混合编码的技术。JSP的基础是Java Servlet,将Java Servlet与JSP配合使用可以较好的完成大型的web应用程序开发。JSP是sun公司在1998年提出的一种动态网页技术,其本质还是servlet,jsp最终会被转化成标准的servlet。对于我们熟知的html,它属于网页文件,而.asp、.php 和.jsp则属于镶嵌型的脚本语言,是建立在B/S架构上的web服务器端的脚本程序。服务器对待网页方式的不同决定

27、了该网页是属于静态网页还是动态网页。Jsp设计目的在于简化表示层,实质为html与java的结合。JSP页面的成分分为三种:脚本元素、指令、动作。JSP还继承了java面向对象的优点,极大方便了人员使用。3.5 JSP的由来JSP的由来:传统的应用程序模型中表示层、业务层和数据层都在一个应用中,也就是所谓的单层结构。三层绑在一起,增加了各层的工作负担。这种模型无论是对代码的修改、维护还是重复性使用都不方便,最主要的是该模型没有伸缩性,复用率低,造成人力、物力等资源的浪费。不仅对用户使用的要求高,而且对编程人员来说更是一件头疼的事。之后,出现的web应用程序模型改变了以上状况。Web应用程序模型

28、就是我们熟悉的三层架构模式。客户端用来做为显示界面,将客户端的请求提交给服务器,服务器响应相关服务,再将结果返回给浏览器,交代给用户,使程序各层分工明确,相互独立,减少了各层的工作量,便于管理人员进行管理、维护,方便用户操作。尤其对于数据库来说只需和组件相通即可,不必连接每个用户。虽然由传统的应用程序模型到web应用程序模型得到诸多改进,例如提高了灵活性等,但也对开发人员提出了较高要求。他们需要熟悉HTTP、HTTPS等分布式协议,考虑所处理事务的一致性以及安全性等。这样就引出了我们对J2EE的关注。J2EE只需开发者利用它的可重用构件、JSP和EJB以及简便的连接数据库的方式(JDBC、XM

29、L等)便可实现开发。EJB是J2EE的基石,JSP则是J2EE的核心。因此,人们开始大量使用JSP。3.6 Jsp的工作原理 JSP在首次载入时被翻译成servlet文件(*.java),JSP引擎调用java编译器将*.java编译成class,然后JSP引擎调用JVM执行*.class,将运行结果返回给服务器,服务器封装响应后返回给客户端。3.7 JSP的生命周期JSP的生命周期分为三个阶段,分别是翻译阶段、编译阶段和执行阶段。翻译阶段主要是当容器接受到客户端第一次对jsp的请求后,先判断被请求的jsp是否存在,若不存在返回404错误,若存在,将该jsp先翻译成一个Servlet。编译阶段

30、主要是将Servlet的源文件编译成一个字节码文件,然后由容器将其装载进虚拟机并实例化(单例)。对于执行阶段来说主要是调用Servlet的init()方法、service方法、destroy()方法。值得我们重视的是如果被请求的jsp源文件内容发生变化,那么要重新将jsp翻译成Servlet,再编译、装载和实例化,最后运行Servlet。如果第二次请求jsp时,此时若被请求的jsp已经有对应的Servlet实例,那么就直接运行该Servlet。3.8 JSP与Javabean提到JSP不得不提到javabean。使用Javabean的目的有三方面:第一,用来封装数据信息,业务,数据访问,事务控

31、制逻辑的代码;第二,用来封装jsp中的一些脚本,便于重用,可以减少jsp中脚本的使用;第三,作为一个可重用的组件来使用。javabean按照位置可以分为两类:其一,可视化JavaBean,位于客户端(例如: 在Swing中处理事件的JavaBean);其二,不可视化JavaBean,位于服务端,用于封装数据信息,业务,数据。Javabean实质就是java中的可重用组件,普通的java类,可以实现Serializable接口并且是一种无参构造器,有自己相应的属性,最关键的就是相应属性有对应public的setter和getter。这点和JSP结合起来完善了编程的需要。对于useBean,主要用

32、于在JSP页面中初始化一个Java实例,setProperty用来为JavaBean实例的属性赋值,getProperty用来输出JavaBean实例的属性。3.9 SQL Server 2005 一个系统的数据往往繁多杂乱,光靠人为的统计是不足以完成系统要求的。为了有效方便的管理这些数据,我们广泛的使用了专门的数据库。数据库中的数据既有联系性又有独立性,被每个有相应权限的人员进行增删改查,这就需要用到数据库管理系统(database management system,DBMS),方便用户访问计算机软硬件资源以及数据。由于数据库界面设计简单,但功能强大,因此方便了数据的整理、保存,提高了工作

33、效率。 SQL Server是由赛贝斯公司在1987年发布的数据库系统,经过之后微软公司参与其中的设计,该系统有了进一步提升。在1995年,微软正式发布了Microsoft SQL Server 6.0系统。而SQL Server 2005系统也由微软公司在2005年发布。SQL Server中SQL是Structured Query Language的意思,即结构化查询语言。这种语言可以对数据库中数据进行操作,方便人员和计算机的交流沟通。SQL Server系统有数据库引擎、报表服务和分析服务等服务集成。数据库分割成用户数据库和系统数据库,可以用于多个行业。数据库的业务操作环境和模拟分析环境

34、是不同的,只有当数据库置于真正的业务环境中,我们才能更好的掌握它们的优缺点。SQL Server 2005在以前版本的基础上,改善了一些功能。将好的功能保留下来升级,将不适合的功能索性淘汰。对于数据库来说,安全性至关重要。SQL Server 2005提供了身份验证、安全对象的权限设置等机制保证数据完整。数据库中默认sa是SQL Server的登录名,该用户名不能删除,且拥有SQL Server的全部权限。如果由混合模式进入SQL Server后,我们应及时为sa设置一个秘密。该密码可以通过设置它的复杂性和密码过期时间来提高数据库安全性。数据库中不仅有数据,更是有这些数据的用户。因此,管理这些

35、用户也是一项大任务。在SQL Server 2005中数据库用户并不能拥有数据库中表、视图等对象,只能架构操作这些对象。管理员有着全部权限,可以对普通用户进行创建、修改、删除等操作,保证数据库数据简洁和完整。管理员可以通过角色权限管理用户。首先创建角色,赋予角色相关权限,再将角色和用户关联起来,这些用户也就拥有了相关角色的权限。这样管理员可以对用户进行成批操作,减少了管理员的工作量,提高了工作效率。 4 系统的功能设计4.1 功能概述 该系统实现的功能主要分为两部分,一部分是管理员模块,另一部分就是普通账户模块。管理员分为超级管理员和普通管理员。超级管理员可以对用户账号进行管理(对可以使用该系

36、统的账号添加、删除),对银行数据进行备份管理。除此之外,管理员都可以进行账户管理(账户基本信息的添加、查询);挂失管理(可以对账户进行挂失和解冻);交易记录管理(查看、修改、删除)。普通账户可以进行用户账号管理(修改个人密码)和交易管理(查询余额、转账、取现、查看历史记录)。 系统流程图如图4-1所示:用户账号管理账户信息管理挂失管理Y交易记录管理是否为管理员退出开始数据管理N账号管理 交易管理图4-1系统流程图4.2 后台数据库设计4.2.1 存储过程(1)综述SQL存储过程经过该系统基本模块的实现,各个功能也日渐明了,接着的关键任务就是保存其庞大的数据,需要分析各个模块需要哪些表,各表需要

37、有哪些字段,各个字段有哪些属性各表之间有哪些联系,设定各表的主键和外键等工作。这也就是简单的数据库设计。操作数据库的完整步骤为创建新的数据库、设置数据库名称、指定数据库的存储位置、完成事务日志文件、创建数据库完成、使用数据库、删除数据库。大学期间认真学习过数据库的触发器,其实,在接触到存储过程之后,认识到触发器就是存储过程,只不过是其中一种而已。两者客观看来就是在流程控制语句下的SQL语句,触发器和存储过程都对数据库起着非常重要的作用。存储过程完成过程中,会将编译后的SQL语句存储在数据库中,这些SQL具有与用户需求相关的功能,在使用这些SQL语句时,通过给定它的名称参数执行。本系统中采用的数

38、据库是SQL SERVER 2005,该版本的存储过程分为用户自定义的和系统自带的。用户自定义的存储过程可以根据用户自己的需求创建完成。系统自带的存储过程需要存储在master中,且可以和其他数据库相互调用,保证对数据库操作的顺利准确的完成。为了更好的满足本系统的需求,我采用了用户自定义的存储过程,不用在计算机上自己写SQL程序,节约了时间,方便管理。具体说来,其优点如下:存储过程执行速度快,因为使用存储过程时只需调用语句,不是SQL语句块,节省了网络流量,减少执行时间。并且,存储过程的安全性也足以令人放心,管理员可以授权给各个普通用户,避免普通用户破坏数据,保证了数据的完整完全。值得考虑清楚

39、的是,存储过程与函数不同。虽然两者都有参数和返回值,但是函数可以直接被其他函数调用,而存储过程只有当名称前加上EXEC保留字时才能被调用。操作是否执行成功,由存储过程的返回值指示。存储过程可以有参数也可以无参数,无参数相对简单,如果是更新或者插入数据最好使用带有参数的存储过程,需要用到符号。对于SQL数据库中最为核心的事务存储过程,它可以常驻内存,由于数据量巨大时需要分页技术,ASP便保证了这一需要的实现。使用普通的SQL语句经常会丢失数据或者显示出现错误,因为SQL语句需要顺序读取。为了简单性和系统内存的最小利用原理,保证资源充分利用,我们更应使用存储过程。创建存储过程简单易行,只需平时常用

40、的SQL语句和流程控制语句便可根据自己的需要完成。完成之后,这些相关的信息就会在服务器资源管理器中的节点下出现,点击运行该存储过程即可实现。4.2.2 设计数据库中的表除了索引、存储过程,建表是创建数据库中最基本的操作。表就是客观存在的事物,我们也称之为实体,一个实体可以对应一张表或者多张表,这主要需要具体情况具体看待。而实体的属性,就是表中的字段。前面已经提到实体间的关系有一对一、一对多和多对多三种关系。表中的一对一关系描述主表和其他表的关联关系,需要借助外键。比如当学生信息表中学生学号唯一,成绩表中的学号可以设置为外键,二者构成一对一关系。对于一对多,是在理解一对一的基础上进行。比如每个班

41、级很多学生,一个年级很多班级,这些构成了一对多关系。多对多的例子也很好找。餐厅吃饭,一道菜可以被很多人点,一个人也可以点很多道菜。为保证表的完整性,在建表过程中应注意基本表的几个特性。第一,原子性。表中字段为最小数据单位。第二,原始性。表中的数据时原始记录。第三,演绎性。由基本表和其他相关表可以共同到处需要的数据。第四,稳定性。保证表的长期储存。数据库中除了基本表外,临时表和中间表也较为常用。中间表之所以不是基本表是因为它没有属性。中间表不仅有自身的主键,还有其他两个表的主键,目的就是将这两个表关联起来,中间表起到桥梁作用。这是用于多对多的情况,若是一对多或者一对一便不需要使用中间表,两个表直

42、接联系起来就可以。临时表的表名以“#”开头,将临时数据存放在临时表中,用户推出连接时数据库自动清空临时表的数据,提高了资源利用率。这种临时表称为本地临时表,只对用户自己可见,其他用户不可见。另外一种常用的临时表就是全局临时表,以“#”开头,它与本地临时表有两点不同。第一,当本用户断掉实例连接时,若该表还正在被其他用户使用,它的数据不能被清除。当所有用户断开对它的使用时,才会清除临时表的数据。第二,基于上述特性,该表对所有用户可见。建表过程离不开三大范式。第一范式对应属性的原子性,属性不可分割性。第二范式是第一范式的拓展,具体说就是若表中与主键的字段有依赖关系,则构成第二范式。第二范式也有唯一性

43、要求。第三范式更进一层,避免了字段的冗余。但是冗余程度与数据的访问速率不成反比关系,关键看系统的实际要求。在数据库设计中更遵循第三范式。4.2.3 设计局部E-R模式(1)实体和属性的定义:银行管理员的定义如图4-2所示: 银行管理员 添加时间 用户名 密码权限 图4-2银行管理员的定义普通账户的定义如图4-3所示: 账户信息 账号 密码 地址 余额图4-3普通账户的定义交易记录信息的定义如图4-4所示: 交易记录 添加时间 转账金额 转入账户转出账户图4-4 交易记录信息的定义(2)实体关系定义:实体关系(E-R)由实体、关系和属性三部分构成,主要通过单纯构造数据间的结构来展现它们之间的关系

44、,与数据的处理过程无关。实体是指现实中的任何事物。属性是指各个实体具有的特点,可以表现它们的本质或非本质特点。联系是指实体之间存在的某种关系。E-R图简单易懂,主要用到四种基本图形:实体用矩形框表示,实体的属性用椭圆形框表示,实体之间的联系用菱形框表示,实体和属性通过直线连接起来,在直线上标明联系的种类。联系的种类则分为三种:一对一联系(1:1)、一对多联系(1:N)、多对多联系(M : N)。该银行交易系统的实体关系部分如下各图所示:一个管理员可以管理多个普通账户,一个普通账户被多个管理员管理。如图4-5所示: 普通账户 管理 管理员 图4-5 管理员与普通账户关系图(多对多的关系) 一个管

45、理员可以管理多个出入账信息,一个出入账信息被多个管理员管理。如图4-6所示:NN 管理员 出入账信息 管理 图4-6管理员与出入账信息关系图(多对多的关系)一个普通账户可以管理一个普通账号,一个普通账户被一个普通账号管理。如图4-7所示:11 管理 普通账号 普通账户 图4-7 普通账户与普通账号关系图(一对一的关系)总的关系图。如图4-8所示:权限密码用户名 NN银行管理员管理管理1NN1管理普通账号普通账户账号余额姓名身份证图4-8 总的E-R图4.2.4 设计全局E-R模式 E-R模型中只有实体、联系和属性。在应用中,数据库的用户往往有多个。设计数据库是我们应先考虑单个用户的需求,形成局部E-R模型。我们在做出局部的E-R模型之后,就要从全局出发,为系统构造全局的ER的模型。全局模型是局部模型的整合,保证了数据库的完整性。具体来说,设计全局ER模型步骤为:首先确定所有的局部ER模型,识别出这些局部公共的实体类型,然后将这些局部ER模型两两合并,检查这两个局部ER模型是否有冲突,如果有,将其消除,再次合并,检查是否还有其他冲突,直至没有冲突为止。依次将剩余没有合并的局部ER 模式合并,直至所有的局部模型合并起来没有冲突为止。这里的关键是消除冲突。分析冲突的种类,大致分为属性冲

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1