ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:2.06MB ,
资源ID:496518      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-496518.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(河海大学文天学院数据库应用与可视化开发技术课设.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

河海大学文天学院数据库应用与可视化开发技术课设.docx

1、河海大学文天学院数据库应用与可视化开发技术课设数据库应用与可视化开发技术课程设计报告 系 别 电气信息工程系 专业年级 11计算机科学与技术 学 号 姓 名 一、引言 31.1 数据库应用技术现状 31.2 面向对象可视化应用前景 31.3 课程设计目的与任务 41.4 本报告的内容组织 4二、 相关方法和技术 52.1 数据库应用程序体系结构 52.2 可视化面向对象技术 52.3 事件驱动程序设计 62.4 数据库事物控制技术 72.5 数据库连接策略 7三、课题分析 8四、课题设计 9五、课程实现 125.1 功能模块实现 125.2 系统功能测试 285.3 测试报告 32 六、总结

2、32 一、引言数据库应用与可视化技术从诞生到现在,得到了越来越广泛的应用,从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理,从一般的企业管理到计算机辅助设计与制造等领域,越来越多的应用领域采用数据库技术存储和处理信息资源。但是,随着信息技术的不断发展,传统的数据库应用技术和系统具有显而易见的不适应性, 数据库系统管理的对象不再局限于传统的数据库所擅长管理的结构化数据、半结构化数据,各类智能数据库、多媒体数据库、模糊数据库、数据仓库及数据挖掘技术对传统数据库和系统的研究开发提出了新的挑战。为了应付这些挑战,数据库界必须适应发展的需要,拓宽新的思路,开辟新的研究局面。1.1数据库

3、应用技术现状 数据库应用技术是当前数据库技术发展的重要特征,计算机领域中其它新兴技术的发展对数据库应用技术产生了重大的影响,传统的数据库技术和其他计算机技术的相互结合,相互渗透使数据库中新的技术内容层出不穷,数据库的许多概念技术内容应用领域甚至某些原理都有了重大的发展和变化,建立和实现了一系列新型数据库系统如分布式数据库系统,面向对象数据库系统、演绎数据库系统、知识库系统、多媒体数据库系统它们共同构成了数据库系统的大家族,传统的数据库系统仅是数据库大家族的一员。当然,它也是最成熟的和应用最广泛的一员,它的核心理论应用经验设计方法等仍然是整个数据库技术发展和应用开发的先导和基础。1.2 面向对象

4、可视化应用前景可视化技术是利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。它涉及到计算机图形学、图像处理、计算机视觉、计算机辅助等多个领域,成为研究数据表示、数据处理、决策分析等一系列问题的综合技术,包括科学计算机可视化和信息可视化。可视化技术的应用前景,其用于医学、地质、海洋、气象、航空等行业开阔软件业高科技市场虚拟现实技术的发展人工智能技术的发展在商务、金融和通信等领域等等,有着十分广阔的应用前景。数据可视化与信息可视化的分界越来越小,在商务、金融等方面也会有广阔的应用前景。如面向对象可视化技术在财务指标或流通量统计中的应用;面向对

5、象可视化技术在人口普查、健康状况、现金交易、顾客群、销售业绩等方面的应用;面向对象可视化技术在数字图书馆中的应用;面向对象可视化技术在诸如专利文献、年报、软件模块、数据结构等复杂文档中的应用;面向对象可视化技术在诸如病例、学生成绩、经济趋势、股市走向、项目管理等方面的应用。面向对象可视化应用技术作为一项新兴技术正在蓬勃发展。它与虚拟现实技术、计算机动画技术、人工智能、数据挖掘、数字地球、经济趋势,甚至与人类基因组计划等诱人的前沿学科领域有着密切的联系。如何有效处理和解释这些包含大量信息的海量数据将是人类面临的巨大挑战,同时,这也是面向对象可视化技术所呈现给人类的诱人的应用前景!1.3 课程设计

6、目的与任务目的:采用可视化开发技术,熟悉一种可视化开发技术平台,掌握数据库中的重要技术,熟练使用PowerBuilder,嵌入式SQL语言技术,链接技术,事务控制技术,事务程序设计技术,面向对象的可视化技术,分析事物的方法,掌握课程设计,初步应用和实现的方法。任务:安装设计PB可视化开发环境做程序设计,并做出实验。包括项目的创建,应用程序,常用事件,程序设计的方法,数据库访问时间的应用,事务控制PB链接的策略。1,4本报告的内容组织本系统采用PowerBuild8.0设计,主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等。本系统结构分为读者信息管理模块,书籍信息管

7、理模块,借阅信息管理模块,管理者信息管理模块。读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护。书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。二、 相关方法和技术2.1数据库应用程序体系结构开发一个好的数据库应用系统,软件开发者第一要选择好的数据库平台及支持的开发环境,第二做出合适的软 件设计和数据库设计,包括选择算法和数据结构;第三还要选择合适的编程语言

8、和工具,开发工具和接口的正确选择能极大地改善整个系统的性能和开发速度;第四 要选择好的应用模型结构。20世纪60年代刚出现数据库时,数据库系统的应用范围主要局限于为同一地点的不同应用程序提供永久、共享的数据存储和数据管理。因此只需集中式的数据库体系结构。70年代数据库的应用更广泛,如民航订票等。需要在异地有数据处理的功能,而对 数据是否集中存放则不太关心。在这种情况下出现了C/S结构的数据库。80年代,应用领域需要处理的数据量越来越大,数据集中存放至少在效率上无法 满足要求,因此出现数据分布存放的分布式数据库。进入90年代,数据库的自治性越来越被强调,因为应用领域向复杂化、多元化方向发展。分布

9、式数据库和异构 数据库互连成为满足当前应用领域要求的主要趋势。随着数据库系统体系结构的发展,相应的数据库应用系统的体系结构由两层体系结构发展到三层或多层结构。2.2 可视化面向对象技术 PowerBuilder支持面向对象程序设计方法,支持继承性、多态性、封装性这些面向对象编程技术。使用这些技术,开发人员可以最有效地利用所创建的每一个对象,使应用程序具有可重用性、可扩展性。在PowerBuilder中,窗口对象、菜单对象和用户对象是可以继承的。当用户继承了一个对象,所得到的子类将具有与父类相同的属性、控件、事件及脚本代码等。也就是说子类继承了父类所有的变量和函数,用户通过在子类中加入一些心得数

10、据成员和函数,就可以得到一个功能更强大的类。继承使用户可以充分利用经过严格检验的代码,大大提高了代码的重复利用率,从而极大地缩短了程序的开发周期。对于同一消息,不同的对象可以有不同的响应,这就是多态性。多态性使得韩硕的功能随着应用对象类型的变化而变化。比如,文件类和目录类都有一个方法Delete,该方法的行为会根据不同的对象类型而改变,当一个文件类的对象使用Delete方法时,调用的是目录类的Delete方法,而当一个目录类的对象使用Delete方法时,调用的目录类的Delete方法。对象的多态性使得对不同类对象的处理变得一致。封装就是把一些数据元素和操作行为放到一个对象中。对象内部的细节在很

11、大程度上是隐蔽的,一个对象的数据成员只能由该对象自身的函数来存取。2.3、事件驱动程序技术所谓事件驱动,简单地说就是你点什么按钮(即产生什么事件),电脑执行什么操作(即调用什么函数).当然事件不仅限于用户的操作. 事件驱动的核心自然是事件。从事件角度说,事件 驱动程序的 基本结构是由一个事件收集器、一个事件发送器和一个事件处理器组成。事件收集器专门负责收集所有事件,包括来自用户的(如鼠标、键盘事件等)、来自硬件的 (如时钟事件等)和来自软件的(如操作系统、应用程序本身等)。事件发送器负责将收集器收集到的事件分发到目标对象中。事件处理器做具体的事件响应工作, 它往往要到实现阶段才完全确定,因而需

12、要运用 虚函数机制(函数名往往取为类似于HandleMsg的一个名字)。对于 框架的使用者来说,他们唯一能够看到的是事件处理器。这也是他们所关心的内容。 视图(即我们通常所说的“窗口”)是“事件驱动”应用程序的另一个要元。它是我们所说的事件发送器的目标对象。视图接受事件并能够对其进行处理。当我们 将事件发送到具体的视图时,实际上我们完成了一个根本性的变化:从传统的流线型程序结构到事件触发方式的转变。这样应用程序具备相当的柔性,可以应付种种 离散的、随机的事件。由于Windows本身是基于“事件驱动”模型的。因而在Windows操作系统下实现应用程序框架有相当的便利。在事件驱动程序的基本单元中,

13、事件收集器已经由Windows系统完成;事件发送器也已经由Windows完成了部分内容。之所以是部分而非完全是因为Windows是用C语言实现的,而不是C+。由于没有对象,Windows将事件发送到所谓的“ 窗口函数”中(尽管不是发送到具体的对象,但应该说这是面向对象方式实现的一个变体)。要感谢Windows做了这件事。确定事件的目标所要做的工作的复杂可能要超出我们的想象。PowerBuilder的应用程序是事件驱动的,事件是由Windows系统通过消息传递的。Windows系统接收到所有的硬件和软件事件,并将事件转化成消息发送给相应的对象。消息中包含了其类型码,类型码代表事件的类型。在Pow

14、erBuilder中用户可以为事件编写脚本,从而控制程序的运行,对用户的动作或系统事件做出反应。在PowerBuilder中每一类对象都有一些预定义的事件,比如命令按钮控件有单击事件,编辑框控件有更新事件等。一般来说,这些预定义的事件能满足用户的需求,如有些特殊需求,用户还可以定义自己的用户事件。2.4、数据库事务控制技术 应用对象的事件共有6个:Open、Close、Idle、SystemError、ConnectionBegin、ConnectionEnd。要想在应用程序中实现对数据库的操作,就要在应用对象的Open事件中建立于数据库的链接。应用程序与数据库的链接是通过事务对象来完成的,对

15、于应用程序和数据库之间进行通信来说,事务对象起到了桥梁的作用。事务对象是PB对象中最为重要的一个对象,不使用事务对象将无法链接数据库,在应用程序启动时,系统将自动创建一个名为SQLCA的全局事务对象。与其他大部分对象不同,事务对象是个不可见对象,不能在某个描绘器中创建,也不能显示在屏幕上。事务对象包含两组共15个属性:第一组(10个属性)用来告诉PB链接数据库所需要的所有信息;第二组(5个属性)用来返回最后一次数据库操作完成的状况。2.5、数据库链接策略在创建了数据库和表之后,还必须与要访问的数据库建立链接关系才可以使用PB进行数据库访问。因此,链接数据库是使用PB开发数据库应用系统的一项很重

16、要的工作。PB与数据库的链接可以通过通用接口和专用接口两种方式来实现。ODBC接口是微软公司提出的一种开放式数据库互连标准接口,它使用关系数据库标准查询语言SQL来存取数据库。ODBC支持单个语言系统对对个不同数据库管理系统的访问,并且使得用户能够用统一的方法来处理各种数据源。 利用ODBC连接数据库截图如下:三、课题分析图书馆管理系统是一个高度集成的图书信息处理系统,通过将图书馆的各种功能进行整合,从而达到显示检索信息,提高工作效率,降低管理成本等目的。一个典型的图书馆管理系统应该能够管理所有的图书种类,图书信息以及读者信息,还需要提供各种图书信息的检索查询功能。该系统还需要能够对图书的借阅

17、,归还进行管理,并对读者的罚款进行自动计算。通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和成本。四、课题设计图书管理系统主要包括系统管理、读者管理、图书编目、查询等一系列的功能。(1)图书的基本信息:图书编号,图书名称,出版社,作者等。(2)读者的基本信息:读者编号,读者姓名,系别,类型等。(3)管理者的基本信息:管理者姓名,权限,修改密码,登陆提示等。读者管理(1).查询已有读者 (2).编辑读者,涵盖添加读者,编辑读者信息,删除读者功能 图书管理(1).查询图书信息(2).编辑图书信息借阅管理(1).借出图书查询(2).编辑图书借出信息其

18、它辅助功能 管理员信息维护:可以执行管理员密码修改、信息更新及删除等。系统的E-R模型该图书管理系统的E-R模型,如下图所示根据功能分析和应用功能的要求,对各项功能进行集中分块,按照生命周期法,进行结构化分析,得到如图所示的细化模块图和程序模块示意图细化模块图程序模块示意图数据库的访问策略采用ODBC(Open Database Connectivity,开放数据库互连)模式。ODBC(Open DataBase Connectivity)是微软倡导的、当前被业界广泛接受的、用于数据库访问的应用程序编程接口(API),它以X/Open和 ISO/IEC的调用级接口(CLI)规范为基础,并使用结

19、构化查询语言(SQL)作为其数据库访问语言。 ODBC总体结构有四个组件:A. 应用程序:执行处理并调用ODBC API函数,以提交 SQL语句并检索结果。B. 驱动程序管理器(Driver Manager):根据应用程序需要加载/卸载驱动程序,处理ODBC函数调用,或把它们传送到驱动程序。C. 驱动程序:处理ODBC函数调用,提交SQL请求到一个指定的数据源,并把结果返回到应用程序。如果有必要,驱动程序修改一应程序请求,以使请求与相关的DBMS支持的语法一致。D. 数据源:包括用户要访问的数据及其相关的操作系统、DBMS及用于访问DBMS的网络平台。五、课题实现5.1 功能模块设计5.1.1

20、 创建项目使用PB创建Workplace,生成并保存Library.pbw到图书管理信息系统文件夹中。在工程项目Library中创建Application,生成并保存mlibrary.pbt到相同路径。在应用程序mibrary中新建mlibrary,sys_tools,book_mange,borrow_mange和read_mange五个库,并保存各自扩展名为.pbl的文件到相同路径。如下图所示简介数据库实现,使用powerbuilder创建库的整个过程(1)创建workspace命名空间要事先在希望建立位置建立一个新的文件夹,然后将新建立的命名空间存放于该处。(2)建立目标(Target)

21、里面的应用程序(Application)。(3)新建(windows)窗体:新建立窗体,窗体建立完成后可以在菜单栏选择控件进行编辑,Create commandbutton control,Create datawindow control等是常用的控件名称,可以在控件的click事件里面添加内容代码,来实现数据库事件的功能在相应的库中创建所需要的窗口,函数及连接代码。5.1.2 登录模块用户可以通过用户名和密码登陆图书管理系统。系统会访问数据库,对用户操作作出交互反应。“放弃”按钮 代码如下:close(parent) /关闭登陆窗口“登入”按钮 代码如下:string password,a

22、llow_log,log_stringlog_string = sle_logid.textselect user_xm,password,allow_log into :czyxm,:password,:allow_log from dmuser where user_xm = :log_string;/ messagebox(登陆,登陆成功)if sqlca.sqlcode = 100 or trim(sle_logpass.text) password then messagebox(警告,Error 6 您的帐户不正确,不能登录系统!) sle_logid.setfocus() ret

23、urnend ifif not allow_log = y then messagebox(警告,Error 7 您的帐户没有获准注册权限,不能登录系统 !) sle_logid.setfocus() returnend ifclosewithreturn(parent,login is ok)登陆模块 代码如下:SQLCA.DBMS = ODBC /连接数据库SQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN=library;UID=;PWD=connect;if sqlca.sqlcode 0 then messagebox(警

24、告,Error 1 连接数据库 ( Connect database ) 失败!) returnend ifstring mclong isle_logid.reset()declare start1 cursor for select user_xm from dmuser where allow_log = y and xm_select = y order by user_xm; open start1;fetch start1 into :mc;i = 1do while sqlca.sqlcode = 0 sle_logid.InsertItem(mc,i) i = i + 1 fe

25、tch start1 into :mc;loopclose start1;并且需要修改全部变量和共享变量;5.1.3 添加模块对读者,图书,借阅等模块的子系统进行添加编辑。“放弃”按钮 代码如下:closewithreturn(parent, )“确认”按钮 代码如下:string book_noint s,ynCHOOSE CASE the_flag CASE appe book_no = dw_1.getitemstring(1,booksid) if isnull(book_no) or trim(book_no) = then messagebox(提示,书号不能为空!) return

26、 end if select count(*) into :s from books where booksid = :book_no; if s 0 then messagebox(提示,该书号已存在,不能存入数据库!) return end if if dw_1.update() 1 then rollback; messagebox(提示,添加记录入库失败!) return end if commit;END CHOOSEclosewithreturn(parent,reload)添加模块 代码如下:string book_no,tp_strtp_str = message.string

27、parmthe_flag = left(tp_str,4)book_no = mid(tp_str,5,len(tp_str) - 4)dw_1.settransobject(sqlca)CHOOSE CASE the_flag CASE appe / st_1.text = 添加学生记录 dw_1.InsertRow(0) CASE edit dw_1.modify(booksid.tabsequence = 0) dw_1.modify(bname.tabsequence = 10) dw_1.modify(classifyno.tabsequence = 20) dw_1.modify(

28、author.tabsequence =30) dw_1.modify(publisher.tabsequence = 40) dw_1.retrieve(book_no) CASE dele dw_1.modify(booksid.tabsequence = 0) dw_1.modify(bname.tabsequence = 0) dw_1.modify(classifyno.tabsequence = 0) dw_1.modify(author.tabsequence =0) dw_1.modify(publisher.tabsequence = 0) dw_1.retrieve(boo

29、k_no) END CHOOSE5.1.4 删除模块对读者,图书,借阅等模块的子系统进行删除编辑。在读者信息(图书/借阅)主窗口,对所选信息删除,进入删除模块。主窗口“删除”按钮 代码如下:string bnumberint nn = dw_1.getselectedrow(0)if not n 0 then messagebox(提示,请选择将要删除的书目记录!) returnend ifbnumber = dw_1.getitemstring(n,readerid)openWithParm(w_reader_edit,dele + bnumber)if message.stringparm =reload then dw_1.SetRedraw(false) dw_1.reset() dw_1.retrieve(depart) dw_1.SetRedraw(true)end if删除窗口“确认”按钮 代码如下:string reaeder_noint s,

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2