数据库课程设计-图书馆管理系统.doc_第1页
数据库课程设计-图书馆管理系统.doc_第2页
数据库课程设计-图书馆管理系统.doc_第3页
数据库课程设计-图书馆管理系统.doc_第4页
数据库课程设计-图书馆管理系统.doc_第5页
免费预览已结束,剩余26页可下载查看

下载本文档

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

文档简介

数据库系统概论课程设计论文 题目: 图书馆管理系统 班级: 计科112班 学号: 2011010213 2011010322 2011010206 2011010326 2011010321 姓名: 杨荣荣 张相恒 刘东 张康 张先敏 摘要:图书管理系统是图书馆管理工作中不可缺少的部分,它的内容对于图书馆的管理者和使用者来说都至关重要,所以图书管理系统应该能够为管理者或读者提供充足的信息和快捷的数据处理手段。但一直以来人们使用传统人工的方式进行图书管理和借阅管理,这种管理方式存在着许多缺点,如:效率低、易忘记、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高, 随着计算机技术及其应用领域的扩大,数据库技术开始扮演着越来越重要的作用,而以基于数据库技术为基础而开发的各种大型系统也为人们提供了各种各样的方便。作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理。本次课程设计正是基于这样一种背景而开发的。图书管理系统其实是一个很复杂的信息管理系统,它包括很多分类、检索等方面的内容。因为其复杂性,建立这样一个系统更加能体现出运用SQL SERVER数据库进行数据处理的优越性。 本系统通过SQL Server2008将图书、读者、操作员和出版社信息进行有效的统计,将这些信息集中地管理,减少人力成本和管理费用,提高信息的准确性和信息的安全性,改进管理和服务的效率。关键词:图书管理;数据库;MYSQL;PHP;Dreamweaver目录一、 课程设计的目的和意义-(4)二、 所用软件介绍-(4)三、 流程图-(5)四、 系统功能设计-(5)4.1、读者图-(5)4.2、管理者图-(5)4.3、图书图-(6)4.4、状态图-(6)4.5、E-R图-(6)五、 系统操作演示-(6)5.1、系统数据库表-(7)5.2、视图设计-(8)5.3、软件演示及部分源码-(9)六、 心得体会-(13)七、 参考文献-(14)八、 附录-(15)一、课程设计的目的与意义数据库是长期存储在计算机内的,有组织的,可共享的大量数据集合。数据库中的数据相互关联,可为多个用户,多个程序共享,具有较小的冗余度。它主要解决的问题是如何科学的组织和存储数据,如何高效地获取、更新和加工处理数据,并保证数据的安全性、可靠性和共享性。数据库系统是实现有组织地、动态的的存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统。图书管理系统可以实现图书借阅的规范化、系统化、网络化管理,能够将所有图书资料聚集在一起实施统一运作,让需求者在网上就可以查询和借阅图书,推动本图书馆与其他图书管理实现信息资源共享与图书信息的同步更新。任务概述=目标本系统通过计算机技术实现图书信息和用户信息的管理,还包括如下目标:减少人力成本和管理费用;提高信息的准确性和信息的安全;改进管理和服务;良好的人机交互界面,操作简便;二、所用软件的介绍(1)、 Dreamweaver Dreamweaver是在网页设计与制作领域中用户最多、应用最广、功能最强大的软件,随着Dreamweaver 8的发布,更坚定Dreamweaver在该领域的地位。它集网页设计、网站开发和站点管理功能于一身,具有可视化、支持多平台和跨浏览器的特性,是目前网站设计、开发、制作的首选工具。1、灵活的编写方式 Dreamweaver具有灵活编写网页的特点,不但将世界一流水平的“设计”和“代码”编辑器合二为一,而且在设计窗口中还精化了源代码,能帮助用户按工作需要定制自己的用户界面。2、可视化编辑界面 Dreamweaver是一种所见即所得的HTML编辑器,可实现页面元素的插入和生成。或视化编辑环境大量减少了代码的编写,同时亦保证了其专业性和兼容性,并且可以对内部的HTML编辑器和任何第三方的HTML编辑器进行实时的访问。无论用户习惯手工输入HTML源代码还是使用可视化的编辑界面,Dreamweaver都能提供便捷的方式使用户设计网页和管理网站变得更容易。3、功能更多的CSS支持CSS可视化设计、CSS检查工具4、动态跨浏览器验证 当保存时系统自动检查当前文档的跨浏览器有效性,可以指定何种浏览器为测试用浏览器,同时系统自动检验以确定页面有没有目标浏览器不支持的tags或CSS结构。动态跨浏览器有效性检查功能可以自动核对tags和CSS规则是否适应目前的主浏览器。5、强大的WEB站点管理功能6、内建的图形编辑引擎7、Dreamweaver的集成特性 Dreamweaver 8继承了Fireworks、Flash和Shockwave的集成特性,可以在这些Web创作工具之间自由地切换,轻松地创建美观实用的网页。8、丰富的媒体支持能力 可以方便地加入Java、Flash、Shockwave、ActiveX以及其他媒体。Dreamweaver具有强大的多媒体处理功能,在设计DHTML和CSS方面表现得极为出色,它利用JavaScript和DHTML语言代码轻松地实现网页元素的动作和交互操作。Dreamweaver还提供行为和时间线两种控件来产生交互式响应和进行动画处理。9、超强的扩展能力 Dreamweaver还支持第三方插件,任何人都可以根据自己的需要扩展Dreamweaver的功能,并且可以发布这些插件。(2)、AppServ PHP所用前台界面语言主要还是php与后台数据库联系的。电脑里边php的配置环境是AppServ。PHP(PHP: Hypertext Preprocessor的缩写,中文名:“PHP:超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为*.php。PHP的特性包括:1. PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。2. PHP可以比CGI或者Perl更快速的执行动态网页动态页面方面,与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。3. PHP支持几乎所有流行的数据库以及操作系统。4. 最重要的是PHP可以用C、C+进行程序的扩展!优势开放的源代码:所有的PHP源代码事实上都可以得到。PHP是免费的:和其它技术相比,PHP本身免费且是开源代码。快捷性:程序开发快,运行快,技术本身学习快。嵌入于HTML:因为PHP可以被嵌入于HTML语言,它相对于其他语言。编辑简单,实用性强,更适合初学者。跨平台性强:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS、Mac OS下。2效率高:PHP消耗相当少的系统资源。图像处理:用PHP动态创建图像,PHP图像处理默认使用GD2。且也可以配置为使用image magick进行图像处理。面向对象:在php4,php5 中,面向对象方面都有了很大的改进,php完全可以用来开发大型商业程序。专业专注: PHP支持脚本语言为主,同为类C语言。所用语言环境设置:AppServ 是 PHP 网页架站工具组合包,作者将一些网络上免费的架站资源重新包装成单一的安装程序,以方便初学者快速完成架站,AppServ 所包含的软件有:Apache、Apache Monitor、PHP、MySQL、phpMyAdmin等。三、需求分析 1、功能需求功能划分:该系统具有以下主要功能:浏览功能;查询功能;管理员添加功能、修改功能、删除功能;用户登录以及用户注册界面等;2、功能描述1、浏览功能管理员看到的是列出当前数据库文件中图书信息、读者信息、借阅信息和还书信息等的所有记录。u可选定一项记录,显示所有域。用户看到的是只有图书信息2、查询功能u图书ID号检索、图书名字检索、图书键入时间检索等。3、添加功能 添加书目和读者记录以及借书还书记录u添加系统设置相关信息 添加用户信息 4、修改功能 修改书目和读者记录,提供相关确认机制。u修改系统设置相关信息,提供相关确认机制。5、删除功能 删除书目和读者记录,提供相关确认机制。u删除系统设置相关信息,提供相关确认机制。四、设计流程开 始 管理员登录用户登录用户注册管理员注册 书籍增删 借书 还书结 束 图 3-1 五、系统功能设计姓名手机号邮箱管理者读者密码用户名 密码班级编号 图4-1 读者图 图4-2 管理图图书编号名称 作者价格图书借阅时间用户编号状态出版社 ID号归还时间图书名称类别 图4-3 图书图 图4-4 状态图图书编号入库时间 图书名称图书名称图书编号读者编号 状态存储作者 图书 出版社 读者姓名出版时间 库存量借还还书日期借书日期 读者编号密码读者手机号邮箱 读者姓名 图4-5 E-R图六、系统操作演示(一)数据表在Mysql 数据库中建立五个数据表:图书数据表、读者数据表、管理员数据表、状态数据表、图书分类数据表。 图5-1(1) 图书 数据表:包含的信息有图书的编号、名称、价格、添加日期、所属分类、库存量、借出数量。清晰展示了图书的各种信息。 图5-2CREATE TABLE yx_books ( id int(6) NOT NULL auto_increment, name varchar(20) character set gbk NOT NULL, price decimal(4,2) NOT NULL, uploadtime datetime NOT NULL, type varchar(10) character set gbk NOT NULL, total int(11) default NULL, leave_number int(11) default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=45 ; (2) 读者表:读者通过注册、填写相关信息,充实数据库。 图5-3CREATE TABLE user ( id int(11) NOT NULL auto_increment, name varchar(225) character set utf8 collate utf8_bin default NULL, password varchar(225) character set utf8 collate utf8_bin default NULL, email varchar(225) character set utf8 collate utf8_bin default NULL, tel varchar(225) character set utf8 collate utf8_bin default NULL, address varchar(225) character set utf8 collate utf8_bin default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=25 ;(3) 管理者表: 记录了管理者的信息,管理者登陆时填写管理者编号、密码即可进入。CREATE TABLE admin ( id int(11) NOT NULL auto_increment, username varchar(225) character set utf8 collate utf8_bin default NULL, password varchar(225) character set utf8 collate utf8_bin default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; 图5-4(4)、状态表: 此表记录的时 图书的借还状态以及借还时间。CREATE TABLE lend ( id int(6) NOT NULL auto_increment, book_id int(6) NOT NULL, book_title varchar(100) character set utf8 collate utf8_bin NOT NULL, avalible int(20) NOT NULL, lend_time date NOT NULL, return_time date NOT NULL, user_id int(3) NOT NULL, PRIMARY KEY (id,user_id) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=120 ;(5)、图书分类表CREATE TABLE btypes ( tid int(11) unsigned NOT NULL auto_increment, tname varchar(60) NOT NULL, parent_id int(8) NOT NULL, PRIMARY KEY (tid) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=16 ; 图5-5(二)视图设计(1)用户 图书 状态 视图设计图: 图5-6 视图查询信息: CREATE VIEW BOOK_LEND AS SELECT ,lend.book_title,lend.lend_time from lend,user WHERE lend.user_id = user.id(2)图书 图书分类 视图设计图: 图5-7视图查询信息:CREATE VIEW BOOK_TYPE AS SELECT yx_books.*,btypes.* from yx_books,btypes WHERE yx_books.type = btypes.tname(三)软件演示及源码(1)、登录界面 图5-8if(isset($_SESSIONuser) /重定向到管理留言echo alert(您已登陆);window.location=index.php;/ 登录过的话,立即结束 exit;/ 获得参数$nickname=$_POSTusername;$password=$_POSTpassword;$password=md5($password);/ 检查帐号和密码是否正确,$sql=select * from user where name=$nickname and password=$password;$re=mysql_query($sql,$conn);$result=mysql_fetch_array($re);/ 如果用户登录正确if( !empty($result) /注册session变量,保存当前会话用户的昵称$_SESSIONid=$resultid;$_SESSIONuser=$nickname;/ 登录成功重定向到管理页面echo alert(登陆成功);window.location=index.php;else / 管理员登录失败echo alert(密码不正确);window.location=landing.php;(2)、用户注册界面31图5-9$sql=insert into user(name, password, email, tel, address) values($name,$password,$email, $tel,$address);mysql_query($sql,$conn) or die (注册用户失败: .mysql_error();/ 获得注册用户的自动id,以后使用此id才可登录$result=mysql_query(select last_insert_id(),$conn);$re_arr=mysql_fetch_array($resl;$id=$re_arr0;/ 注册成功,自动登录,注册session变量$_SESSIONuser=$name;$_SESSIONid=$id;echo alert(注册成功,您的注册id是:.$id.,请您记住,以后用此id登录!);window.location=index.php;(3)、借书还书界面借书:if ($_SESSIONuser=)echo alert(您还没有登陆);window.location=landing.php;exit();else/ 可以正常借书,记录之/ 获得当前日期$now = date(Y-m-d);$lendsql=insert into lend(book_id, book_title, lend_time, user_id) values($book_id,$title,$now,.$_SESSIONid.);mysql_query($lendsql,$conn) or die (操作失败:.mysql_error();/ 借出后需要在该书记录中库存剩余数减一mysql_query(update yx_books set leave_number=leave_number-1 where id=$book_id,$conn);echo alert(借阅完成);window.location=index.php;还书:if ($_SESSIONid=)echo alert(您还没有登陆);window.location=landing.php;exit();$user_id=$_SESSIONid;$book_id=$_GETbook_id;/ 构建sql语句还书/ 在lend表中删除该借书记录$returnsql=delete from lend where book_id=$book_id and user_id=$user_id;mysql_query($returnsql,$conn) or die (删除借书记录失败:.mysql_error();/ 在book表中增加一本现存书数量$booksql=update yx_books set leave_number=leave_number+1 where id=$book_id;mysql_query($booksql,$conn) or die (增加剩余书数量失败:.mysql_error();echo alert(还书成功);window.location=index.php; 图5-10(4) 后台管理界面和后台功能实现开启session,后台管理员登陆界面,随机更新验证码。(5) 后台管理内容 图5-11用户信息修改:$sqlstr = update user set name = .$_POSTname., email = .$_POSTemail., tel = .$_POSTtel., address = .$_POSTaddress. where id = .$_GETid;用户信息查询:$sql=select * from user order by id desc limit $startno,$pagesize;用户信息删除:$sql=delete from user where id=.$_GETid;图书信息添加:$sql = insert into yx_books (id,name,price,uploadtime,type,total,leave_number) values(,.$_POSTname.,.$_POSTprice.,.$_POSTuptime.,.$_POSTtype.,.$_POSTtotal.,.$_POSTtotal.);图书信息查询:$sql=select * from yx_books order by id desc limit $startno,$pagesize;图书信息修改:$sqlstr = update yx_books set name = .$_POSTname., price = .$_POSTprice., uploadtime = .$_POSTuptime., type = .$_POSTtype., total = .$_POSTtotal. where id = .$_GETid;图书信息删除:$sql=delete from yx_books where id=.$_GETid;检索图书:$sql = select * from yx_books where .$_POSTseltype. like (%.$_POSTcoun.%); $rs=mysql_query($sql) or die(请输入查询条件!); $recordcount=mysql_num_rows($rs);图书数量统计:$sql=select type, count(*) from yx_books group by type;图书分类管理以及子分类:$sql=select * from btypes where tid=.$_GETid; $sqlstr = update btypes set tname = .$_POSTtname., parent_id = .$_POSTparent_id. where tid = .$_GETid;$sql=delete from btypes where tid=.$_GETid;$sql=delete from btypes where parent_id=.$_GETparent_id;(5)、php连接数据库 $conn=mysql_connect(localhost,root,123456); /配置mysql服务器信息if($conn=null)echo 数据库打开失败;exit; /数据库打开失败,退出mysql_query(SET NAMES utf8); /设置数据库编码mysql_select_db(bookinfo); /选择数据库六、心得体会一个星期的课程设计,在老师的悉心指导下我们学会使用macromedia dreamweaver设计一个简单的数据库系统。设计一个图书管理系统,这对我们来说是一次尝试与创新的过程,也可以说是一个挑战的过程,毕竟以前没有作过,缺少经验。现在利用自己学到的知识设计并制作一个图书管理系统,这本身就是一个知识转化为生产力的过程,所以大家都很兴奋,不同程度的投入了很高的热情与努力。在具体的设计与实施中,我们看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,并感受深刻。在设计中我们基本能按照规范的方法和步骤进行,首先对现有的系统进行调查,并查阅有关资料,最后确定设计方案,建立E-R图,然后创建数据库并添加信息,实施过程中我们深刻的认识到认真执行管理系统软件标准的重要性,我们由于对管理系统软件相关的标准和规范不太了解,缺少行为操作准则,所以在设计中手法比较生硬,主与次也没能很好把握住,这些方面通过这次我们都要加强了解。在这次课程设计中,我们被分配以小组为单位去完成图书管理系统的设计与制作,所以小组内的分工和相互协调很重要,大家可以在分工中扬长避短,个及所长,这样可以很好的提高大家的积极性,和合作意识,并有效的缩短开发时间,但我们在这方面做的还不够,缺乏人员管理与沟通,导致人力资源浪费,可以说是不足之处,且迫切的需要思考和改进,这一点必须指明。这在以后的工作与学习中将会非常重要。我们一个小小的团队在这个过程中共同努力,互相配合,一起探讨解决问题,我们体会到了合作的重要性。掌握与他人合作沟通的方式也是非常重要的,甚至影响合作的成败。非常感谢许缓缓老师的细心和耐心指导,指引我们走向学习的新天地。同时也让我们体会到知识的力量,无论走什么样的路、选择什么样的工作只有扎扎实实、脚踏实地学到知识、不断进步才能在社会上有立足之地 。七、参考文献王珊 萨师煊 数据库系统概论高等教育出版社JavaScript 基础与实践教程 电子工业出版社王洛峰 细说PHP 电子工业出版社Dreamweaver基础应用 机械工业出版社杨敏 王英华 网页设计与制作 (cs5中文版) 从新手到高手 清华大学出版社胡国胜易著梁数据库技术与应用SQLServer机械工业出版社八、附录 1、分页代码 ?php$pagesize=10; /每页大小,显示信息条数if(!urldecode($_GETproid)$sql=select * from yx_books order by id desc;/查询出信息else$sql=select * from yx_books where type=.urldecode($_GETproid).;$rs=mysql_query($sql);$recordcount=mysql_num_rows($rs);/计算信息条数$pagecount=($recordcount-1)/$pagesize+1;/分页计数$pagecount=(int)$pagecount;$pageno=$_GETpageno;if($pageno=)$pageno=1;if($pageno$pagecount)$pageno=$pagecount;$startno=($pageno-1)*$pagesize;if(!urldecode($_GETproid)$sql=select * from yx_books order by id desc limit $startno,$pagesize;else$sql=select * from yx_books where type=.urldecode($_GETproid). order by id desc limit $startno,$pagesize;$rs=mysql_query($sql);?显示页码的格式: 首页 | 上一页 | a href=?pageno=下一页 | a href=?pageno=末页 首页 | a href=?pageno=上一页 | 下一页 | 末页 首页 | a href=?pageno=上一页 | a href=?pageno= class=forumRowHighlight下一页 | a href=?pageno=末页  页次:/页 共有条信息2、前台(使用html 、css 、javascript 相结合)(1.)用户注册界面 function checkreg() if (.value=)/ 如果真实姓名为空,则显示警告信息 alert(真实姓名不能为空!);.focus();return false; if (form1.password.value= )/ 如果密码为空,则显示警告信息 alert(密码不能为空!);form1.password.focus();return false; if (form1.pwd.value= )/ 如果密码为空,则显示警告信息 alert(确认密码不能为空!);form1.pwd.focus();return false; / 两次密码应一样if (form1.p

温馨提示

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

评论

0/150

提交评论