数据库期末作品设计报告

上传人:宝路 文档编号:5989616 上传时间:2017-09-09 格式:DOC 页数:34 大小:555.57KB
返回 下载 相关 举报
数据库期末作品设计报告_第1页
第1页 / 共34页
数据库期末作品设计报告_第2页
第2页 / 共34页
数据库期末作品设计报告_第3页
第3页 / 共34页
数据库期末作品设计报告_第4页
第4页 / 共34页
数据库期末作品设计报告_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《数据库期末作品设计报告》由会员分享,可在线阅读,更多相关《数据库期末作品设计报告(34页珍藏版)》请在金锄头文库上搜索。

1、宁波工程学院1数 据 库 应 用 基 础作 品 设 计 报 告设 计 作 品 题 目: 图书管理系统的设计与实现 学 院 名 称: 电子与信息工程学院 专 业: 电气工程及其自动化 班 级: 电气 101 姓 名: 李盛标 学 号 10401170105 指 导 教 师: 邱雪娜 完成日期: 2013 年 11 月 15 日 宁波工程学院2引言数据库技术,已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库从诞生到现在,在不到半个世纪的世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,吸引了越来越多的研究者加入。数据库的诞生和发展给计算

2、机信息管理带来了一场巨大的革命。计算机技术不断地应用到各行各业,大量的企业把数据存放在数据库中,并且通过 T 相关的代码语句来进行快速查询,获取比传统方式更高的效率。为了进一步加深和巩固我们所学的专业课程PowerBuilder 数据库开发技术的基本理论知识,使我们所学的理论能够更好的和实际的专业联系起来,进一步培养学生的综合分析问题和解决问题的能力。使学生的得到收集、处理、应用资料信息的实践训练,同时全面的考核学生所掌握的基本理论知识及其实际的专业能力,从而达到提高学生素质的最终目的。学校安排了为期一个星期的实训课程,在这一个星期的时间里,希望学生能够利用所学到的知识创建一个图书馆的数据系统

3、,来达到图书管理的需要。2011 年 5 月 28日宁波工程学院3目录1 数据库设计 31.1 需求分析 31.2 数据库设计内容 31.3 概念设计 41.4 逻辑设计 51.5 窗口界面设计以及控件添加 61.6 表的设计以及数据的添加 92 数据库编程 102.1 数据库链接变成 102.2 操作界面代码 102.3 数据显示窗口编程 122.4 窗口按钮编程 162.5 图书类型窗口编程 182.6 查找窗口编程 192.7 用户窗口编程 252.8 图书信息窗口编程 262.9 记录信息窗口编程 282.10 数据显示控件编程 313 实训心得 33宁波工程学院41 数据库设计熟悉P

4、owerBuilder 数据库开发技术实训环境,熟练掌握数据库、表、窗口界面的设计、图形按钮的添加、数据库的链接及函数的创建与应用,确立数据库创建的方向,对图书管理系统进行分析并设计系统实现需要哪几张表以及各表结构,确立数据库创建的要求,优化数据库界面的设计。1.1 需求分析书籍是人类不可缺少的精神食粮,对学校来说,显得尤为重要。所以图书馆管理系统应该是能够为读者提供充足的信息和快捷的查询手段的一种方式。但一直以来人们都是使用传统的人工方式来管理图书,这就给图书馆的管理和图书信息的查阅带来了很大的不便,使得图书管理的效率低下、保密性差,时间一长,还容易造成文件和数据的丢失,给查找、更新和维护带

5、来了很大的困难。图书管理工作繁琐,借阅频繁,包含大量的信息数据,因此就需要一个完善的图书管理系统来实现对这些数据的有效管理。从而达到对图书、读者、员工、借阅信息、查询进行统一管理,满足各类用户的需求。随着计算机信息技术的发展,数据库作为信息技术的一部分也在飞速的发展着。使用数据库对图书资源进行管理具有着手工管理无法比拟的优点,它检索迅速、查找方便、可靠性高、存储量大、成本低,所以数据库成为了图书馆管理最主要的选择。1.2 数据库设计内容利用 PowerBuilder 开发一个基于 SQL Anywhere 数据库的小型宁波工程学院5图书管理系统。该图书管理系统主要具有如下五个功能:图书类型信息

6、的查询和编辑,图书信息的查询和编辑,用户信息的查询和编辑,借还书记录的生成和查询,指定用户借还书记录的查询。其中前三个功能是必须实现的功能,后两个功能为选做。此外,可根据思考题(见群共享中压缩文件 PB0520)中的要求优化图书管理系统的功能,也可自行对系统进行功能的优化。1.3 概念设计概念设计是在需求分析上的,用概念数据模型来表示数据以及数据之间的相互联系,从上述的分析中规划处图书馆管理系统的实体有图书信息实体、图书类型实体、用户实体、借书记录实体。用户实体 E-R 图用户表用户编号 用户姓名 性别图书信息表作者图书编号图书名称类型编号出版社宁波工程学院6图书信息实体 E-R 图图书类型实

7、体 E-R 图借书记录实体 E-R 图1.4 逻辑设计数据库逻辑设计是整个设计的前半段,包括所需的实体和关系,实体规范化等工作,在图书馆管理系统的数据库设计中,实体与实体之间通过关系得到了很好的连接,主要体现在一对一的关系、一对多的关系、多对多的关系。图书类型表类型编号 类型名称借书记录表记录编号用户编号图书编号借出日期 归还日期宁波工程学院7一个 1:n 联系可以转换为一个独立的关系模式一个 1:1 联系可以转换为一个独立的关系模式一个 n:n 联系可以转换为一个独立的关系模式1.5 窗体界面设计以及控件的添加窗口设计和控件的添加是数据库开发必不可少的步骤之一,在图书馆管理系统数据库中也是如

8、此,图书馆管理系统的窗口设计采用的是普通方式和继承方式并存的方法。如下图所示:图 11 登录窗口宁波工程学院8图 1-2 查找窗口图 1-3 记录窗口宁波工程学院9图 1-4 祖先窗口(数据显示窗口)设置好祖先窗口后,就要进行四个子孙窗口的设置分别是:图书类型窗口、图书信息窗口、用户信息窗口、记录信息窗口。在完成窗口和控件的设置之后,我们就要对控件 create datawindow 的 dataobject 属性进行设置,使其与之相关的表格进行关联。宁波工程学院10图 1-5 操作窗口 图 1-6 系统树窗口1.6 表的设计以及表中数据的添加在数据库中表的设计以及表中数据的添加都是至关重要的

9、,此次实训设计中的表格以及数据如下图所示:宁波工程学院11图 1-7 图书信息表图 1-8 借书记录表图 1-9 图书类型表 图 1-10 用户信息表2 数据库编程无论是采用哪种开发工具开发应用程序,编写代码是必不可少的。编写代码的过程也就是平常所说的编程,在 PowerBuilde 中采宁波工程学院12用的是 Powerscript 语言,它简单易学,编写程序的格式比较自由,用 Powerscript 语言编程能够更好、更快捷、更方便的创建数据库,更加准确的添加数据及其实现数据库一系列的功能。2.1 数据库链接代码应用对象的 open 事件SQLCA.DBMS = ODBCSQLCA.Aut

10、oCommit = FalseSQLCA.DBParm=ConnectString=DSN=mybook;UID=caowei;PWD=7077 connect using SQLCA;if SQLCA.SQLCode thenmessagebox(系统提示, 请先关闭【+wtitle+】窗口!,exclamation!)return -1end if(2) 窗口关闭代码如下:cb_close 的 clicked 事件close(parent)2.3 数据显示窗口编程(祖先窗口代码编辑)(1) 数据读取代码如下所示:dw_base 的 open 事件宁波工程学院14this.x=w_main.

11、x+w_main.widththis.y=w_main.ythis.tag=this.title/保存窗口的标题dw_1.settransobject(SQLCA)/连接事务对象dw_1.retrieve()/读取数据dw_1.object.datawindow.readonly=truedw_1.setrowfocusindicator(hand!)/设置行指示标记(2) 函数设置代码如下:1) dw_base 的 closequery 事件string msg=部分数据被改动!是否存盘?if this.title then /若为编辑状态,见 f_setstatus 函数editrow=l

12、ong(this.tag)/获得当前正在编辑的记录行号if editrow3000 thenthis.width=3000this.height=1200end if(4) find 窗口中 ddlb_1 控件的 selectionchanged 事件:if index=1 then/若指定按记录行查找ddlb_2.selectitem(1)/查找关系默认为“=”ddlb_2.enabled=false/禁止选择查找关系cb_next.enabled=falseelse/按其他方式查找ddlb_2.enabled=trueend ifsle_1.setfocus()(5) w_find 窗口中

13、 cb_find 按钮的 clicked 事件:string msg=,fstr=/fstr 用于存放查询条件文本串integer nbit宁波工程学院24long frow /存放查找到的记录行的行号pwin.dw_1.selectrow(0,false)/取消之前所有行的加亮显示if sle_1.text= thenmsg=查询目标不能为空!请输入.messagebox(提示,msg,exclamation!)sle_1.setfocus()returnend ifnbit=pos(ddlb_1.text,* fstr=mid(ddlb_1.text,nbit+1) choose case

14、 fstrcase row if not isnumber(sle_1.text) or sle_1.text=0 or &long(sle_1.text)long(sle_1.tag) thenmsg=【记录行】的范围是 1- + sle_1.tag+ !请修改.messagebox(提示,msg,exclamation!)sle_1.setfocus()returnend iffrow=long(sle_1.text)pwin.dw_1.scrolltorow(frow)pwin.dw_1.selectrow(frow,true)宁波工程学院25parent.width=300parent.height=100cb_close.setfocus()/以便按 enter 键关闭 w_find 窗口return/不再执行后续代码case borrow,return/查找日期型数据fstr=string(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号