




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档图书馆管理系统 -数据库课程设计系别:计算机科学与技术系班级:软件工程09-2班姓名:李平学号:200913821 选题的目的、意义 随着社会的进步,信息技术的广泛应用,数字化管理的优势日趋显著。针对中小型图书馆或图书室管理落后的情况,设计实现一个图书信息管理系统,通过与计算机的结合使用对中小型图书馆或图书室的各种图书信息进行管理可以给管理员和用户带来以下不同的方便:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作效率,也是图书馆等部门管理科学化、正规化的重要标志之一。而且计算机管理的成本不断降低。因此,开发一套这样的中小型图书管理软件已经很有必要,并且实现研究服务于实践的原则。2 SQL Server 2005 概述SQL Server 是一个关系数据库管理系统它是由Microsoft推出的。SQL Server 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力,提供了以 Web 标准为基础的扩展数据库编程功能。丰富的 XML 和 Internet 标准支持允许使用内置的存储过程以 XML 格式轻松存储和检索数据。SQL Server 提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。例如,XML数据库与Web Service的支持将使您的应用实现Internet数据互联,.net集成极大的扩展了开发空间,异构数据集成、Service Broker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。C#、VB.net、XMLA、ADO.net 2.0、SMO、AMO等都将成为SQL Server数据平台上开发数据相关应用的有力工具。它具有以下特点:(1)上手容易大多数的中小企业日常的数据应用是建立在Windows平台上的。由于SQL Server与Windows界面风格完全一致,且有许多向导(Wizard)帮助,因此易于安装和学习,有关SQL Server的资料、培训随处可得,并且目前国内具有MCDBA认证的工程师不在少数(2)兼容性良好由于今天Windows操作系统占领着主导地的位,选择SQL Server一定会在兼容性方面取得一些优势。另外,SQL Server 2005 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET 战略中发挥着重要的作用。(3)电子商务在使用由Microsoft SQL Server 2005关系数据库引擎的情况下,XML数据可在关系表中进行存储,而查询则能以XML格式将有关结果返回。此外,XML支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用Hypertext Transfer Protocol(超文本传输协议,HTTP)来访问SQL Server 2005,以实现面向SQL Server 2005数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集。(4)数据仓库Microsoft SQL Server 2005非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。3系统需求分析随着互联网的爆炸性发展,人们越来越习惯于利用网络来实现所需的服务,网络已深深影响到人们生活的各个方面。另外,传统的图书馆不能满足一部分现代人的需要,而电子阅览室,由于其不受时间与空间的限制同时又具有传统图书馆的大部分功能,能够满足各类用户的常规与特殊需求,而且其方便快捷,实现技术又比较成熟,因此受到当代人的喜爱。该系统主要分为两部分:读者部分和管理员部分。为了方便读者查找自己感兴趣的主题进行阅读,要将图书按照内容进行分类。读者可以按照类别进行查找,逐级浏览、可以查看自己的信息。本系统还可对用户的账号和书目的阅读权限进行管理。管理员需要给用户分配用户名和密码,及设定用户的级别,还为用户提供图书的排行榜让用户能知道那些图书受到大家的欢迎。 (1)系统设置模块:添加删除管理员、设置管理员的权限、说明图书存放书架信息添加删除书架信息。(2)读者管理模块:添加删除不同类型的读者及注明可借图书的数量、添加删除读者的档案。(3)图书管理模块:添加删除不同类型的图书及注明图书可借的天数库存数量、添加删除图书的档案。(4)图书借还模块:可查询读者借阅和归还图书的信息及图书的现有库存量。(5)系统查询模块:可根据不同的条件(条形码、书名、类别、作者、书架、出版社)查询读者需要的图书、读者可根据不同的条件(图书条形码、图书名称、读者编号、读者名字、到期时间)查询自己借阅图书信息。(6)排行榜模块:可以让读者知道图书借阅的排行榜及读者借阅的排行榜。3.1 系统功能结构图 根据图书管理系统的实际需求,可以将图书管理系统划分为系统设置、图书管理、读者管理、图书借还、系统查询、排行榜6个部分各个部分的具体功能的系统功能结构图如图3-1所示。图书管理系统系统设置 管理员设置 书架设置读者管理排行榜图书管理图书借还系统查询读者类型管理图书借阅排行榜读者借阅排行榜图书借阅查询图书档案查询 图书归还 图书借阅图书档案管理图书类型管理读者档案管理图3-1 系统功能结构图(1)图书借阅系统完成用户的借书过程其数据流图如图3-2所示。读者1.1图书查询1.2判断能否借书1.2办理借书手续1读者2判断3借阅4查询5图书借书申请索书信息索书信息读者信息判断结果借书信息借书信息查询结果图书信息被借图书复本量被借图书借书结果图3-2 借阅系统的数据流图(2)还书系统完成图书的归还过程其数据流图如图3-3所示。读者身份验证还书库存表借书证催还管理员读者档案借出书库身份验证管理员档案图3-3 归还系统的数据流图(3)图书档案管理系统为用户提供图书档案信息其数据流图如图3-4所示。输入图书档案身份验证管理员修改注销入库清单管理员档案图3-4 图书档案管理数据流图(4)读者档案系统用于记录读者的详细信息其数据流图如图3-5所示。管理员身份验证输入修改注销图书档案管理管理员档案图3-5 读者档案管理数据流图3.2 系统流程图图书管理系统的流程是用户先输入自己的账号密码及系统显示的验证码进入系统如有一项不符合则不能进入系统,成功登陆系统后系统根剧登陆的账号信息从数据库中的数据进行对比判断是读者还是管理员,如果是读者则能进行信息查询,及修改自己的相关信息,查询到自己所需要的图书就能通过管理员进行借阅图书、归还图书也是通过管理员完成的。如果不是读者而是管理员,那管理员可以进行相关信息的查询、添加删除图书及读者的所有信息、设置相应的权限、为图书更新排行榜的信息、以及完成读者的图书借阅与归还。图书管理系统的系统流程图如图3-6所示。登陆系统是否登陆判断身份管理员读者图书归还图书借阅信息查询排行榜信息图书信息读者信息否 图3-6 图书管理系统的流程图、4. 图书管理系统的系统E-R图图书管理系统的系统E-R图如图4-5所示。m1mnnm读者图书管理员管理管理借还还书时间借书时间删除类型条形码修改密码修改名称编号类型编号添加添加删除图4-5 图书管理系统的系统E-R图4.1 数据表设计本系统使用的数据库管理系统为SQL Server 2005。数据库中的表有管理员信息表、图书信息表、读者信息表、管理员权限表、图书借阅归还表等。图书管理员基本信息表tb_admin,如表4-6所示表4-6 tb_admin(管理员)表 。字段名数据类型长度主键描述idVarchar50是管理员编号nameVarchar50否管理员名称pwdVarchar30否密码读者详细信息表tb_reader,如表4-7所示。表4-7 tb_reader(读者信息)表字段名数据类型长度主键描述idVarchar30是读者编号nameVarchar50否读者名称sexChar4否性别typeVarchar50否读者类型 birthday smalldatetime4否生日paperTypeVarchar20否证件类型paperNumVarchar30否证件号码telVarchar20否电话emailVarchar50否E-mailcreateDatesmalldatetime4否注册日期operVarchar30否操作员remarkText16否备注borrownumInt4否 借阅次数图书详细信息表tb_bookkifo,如表4-8所示。表4-8 tb_bookkifo(图书信息)表字段名数据类型长度主键描述BookcodeVarchar30是图书条形码booknameVarchar50否图书名称typeVarchar50否图书类型autorVarchar50否作者translatorVarchar50否译者pubnameVarchar100否出版社priceMoney8否价格pageInt4否页码bcaseVarchar50否书架storageBigint8否 存储数量inTimeSmalldatetime4否入馆时间operVarchar30否操作员borrownumInt4否被借次数图书借阅和归还信息表tb_borrowandback,如表4-9所示。表4-9 tb_borrowandback(图书借阅和归还信息)表字段名数据类型长度主键描述idVarchar30是借书编号readidVarchar20否读者编号bookcodeVarchar30否图书条形码borrowTimeSmalldatetime4否借书时间ygbackTimeSmalldatetime4否应该还书时间sjbackTimeSmalldatetime4否实际还书时间borrowoperVarchar30否借书操作backoperVarchar30否还书操作isbackBit1否 是否归还权限信息表tb_purview,如表4-10所示。表4-10 tb_purview(权限信息)表字段名数据类型长度主键描述IdVarchar50是用户编号sysetBit1否系统设置readsetBit1否读者管理booksetBit1否图书管理borrowbackBit1否图书借还syaqueryBit1否系统查询5. 图书信息管理模块图书信息管理模块主要分为查看图书信息页面和添加修改图书信息页面,用户可以在查看图书信息页面查看图书的基本信息,管理员也可以看这些信息,并且可以通过单击“添加图书信息”这个超级链接或GridView控件中的“详情”超级链接转到添加或删除图书信息界面,并在该页中添加或修改图书信息,如图5-2与5-3所示。图5-2 添加或修改图书信息界面图5-3 查看图书信息界面添加图书信息模块实现using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class BookManage_AddBook : System.Web.UI.Page ValidateClass validate=new ValidateClass(); BookcaseManage bookcasemanage = new BookcaseManage(); BTypeManage btypemanage = new BTypeManage(); BookManage bookmanage = new BookManage(); protected void Page_Load(object sender, EventArgs e) this.Title = 添加/修改图书信息页面; if (!IsPostBack) DataSet bcaseds = bookcasemanage.GetAllBCase(tb_bookcase); ddlBCase.DataSource = bcaseds; ddlBCase.DataTextField = name; ddlBCase.DataBind(); DataSet btypeds = btypemanage.GetAllBType(tb_booktype); ddlBType.DataSource = btypeds; ddlBType.DataTextField = typename; ddlBType.DataBind(); if (Requestbookcode = null) btnAdd.Enabled = true; txtInTime.Text = DateTime.Now.ToShortDateString(); else btnSave.Enabled = true; txtBCode.ReadOnly = txtBName.ReadOnly = true; txtBCode.Text = Requestbookcode.ToString(); bookmanage.BookCode = txtBCode.Text; DataSet bookds = bookmanage.FindBookByCode(bookmanage,tb_bookinfo); txtBName.Text = bookds.Tables0.Rows01.ToString(); ddlBType.SelectedValue = bookds.Tables0.Rows02.ToString(); txtAuthor.Text = bookds.Tables0.Rows03.ToString(); txtTranslator.Text = bookds.Tables0.Rows04.ToString(); txtPub.Text = bookds.Tables0.Rows05.ToString(); txtPrice.Text = bookds.Tables0.Rows06.ToString(); txtPage.Text = bookds.Tables0.Rows07.ToString(); ddlBCase.SelectedValue = bookds.Tables0.Rows08.ToString(); txtStorage.Text = bookds.Tables0.Rows09.ToString(); txtInTime.Text = bookds.Tables0.Rows010.ToString(); txtOper.Text = bookds.Tables0.Rows011.ToString(); protected void btnAdd_Click(object sender, EventArgs e) ValidateFun(); bookmanage.BookCode = txtBCode.Text; if (bookmanage.FindBookByCode(bookmanage, tb_bookinfo).Tables0.Rows.Count 0) bookmanage.BookName = txtBName.Text; bookmanage.Type = ddlBType.SelectedValue; bookmanage.Author = txtAuthor.Text; bookmanage.Translator = txtTranslator.Text; bookmanage.PubName = txtPub.Text; bookmanage.Price = Convert.ToDecimal(txtPrice.Text); bookmanage.Page = Convert.ToInt32(txtPage.Text); bookmanage.Bcase = ddlBCase.SelectedValue; bookmanage.Storage = Convert.ToInt32(txtStorage.Text) + Convert.ToInt32(bookmanage.FindBookByCode(bookmanage, tb_bookinfo).Tables0.Rows09.ToString(); bookmanage.InTime = Convert.ToDateTime(txtInTime.Text); bookmanage.Oper = txtOper.Text; bookmanage.UpdateBook(bookmanage); else bookmanage.BookName = txtBName.Text; bookmanage.Type = ddlBType.SelectedValue; bookmanage.Author = txtAuthor.Text; bookmanage.Translator = txtTranslator.Text; bookmanage.PubName = txtPub.Text; bookmanage.Price = Convert.ToDecimal(txtPrice.Text); bookmanage.Page = Convert.ToInt32(txtPage.Text); bookmanage.Bcase = ddlBCase.SelectedValue; bookmanage.Storage = Convert.ToInt32(txtStorage.Text); bookmanage.InTime = Convert.ToDateTime(txtInTime.Text); bookmanage.Oper = txtOper.Text; bookmanage.AddBook(bookmanage); Response.Redirect(BookManage.aspx); protected void btnSave_Click(object sender, EventArgs e) ValidateFun(); bookmanage.BookCode = txtBCode.Text; bookmanage.BookName = txtBName.Text; bookmanage.Type = ddlBType.SelectedValue; bookmanage.Author = txtAuthor.Text; bookmanage.Translator = txtTranslator.Text; bookmanage.PubName = txtPub.Text; bookmanage.Price = Convert.ToDecimal(txtPrice.Text); bookmanage.Page = Convert.ToInt32(txtPage.Text); bookmanage.Bcase = ddlBCase.SelectedValue; bookmanage.Storage = Convert.ToInt32(txtStorage.Text); bookmanage.InTime = Convert.ToDateTime(txtInTime.Text); bookmanage.Oper = txtOper.Text; bookmanage.UpdateBook(bookmanage); Response.Redirect(BookManage.aspx); protected void btnCancel_Click(object sender, EventArgs e) txtInTime.Text = DateTime.Now.ToShortDateString(); txtBName.Text = txtAuthor.Text = txtTranslator.Text = txtPub.Text = txtPrice.Text = txtPage.Text = txtStorage.Text = txtOper.Text = string.Empty; protected void ValidateFun() if (txtBCode.Text = ) Response.Write(alert(图书条形码不能为空!);location=javascript:history.go(-1);); return; if (txtBName.Text = ) Response.Write(alert(图书名称不能为空!);location=javascript:history.go(-1);); return; if (!validate.validateNum(txtPrice.Text) Response.Write(alert(图书价格输入有误!);location=javascript:history.go(-1);); return; if (!validate.validateNum(txtPage.Text) Response.Write(alert(图书页码输入有误!);location=javascript:history.go(-1);); return; if (!validate.validateNum(txtStorage.Text) Response.Write(alert(图书库存量输入有误!);location=javascript:history.go(-1);); return; 5.1 图书借还信息模块图书借还管理模块主要分为图书借阅页面和图书归还页面,用户可以在通过这个模块查看图书的借阅和归还信息。管理员可以在图书通过这个模块来完成读者借和还书的操作,如图5-4与5-5所示。图5-4 图书的借阅管理图5-5 图书归还管理实现图书的借还功能主要用到了GridView模板列技术。图书借阅代码实现using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class BookBRManage_BorrowBook : System.Web.UI.Page ReaderManage readermanage = new ReaderManage(); RTypeManage rtypemanage = new RTypeManage(); BookManage bookmanage = new BookManage(); BTypeManage btypemanage = new BTypeManage(); BorrowandBackManage borrowandbackmanage = new BorrowandBackManage(); protected void Page_Load(object sender, EventArgs e) this.Title = 图书借阅页面; if (!IsPostBack) if (Sessionrole = Reader) txtReaderID.Text = Sessionreadid.ToString(); gvBInfoBind(); protected void btnSure_Click(object sender, EventArgs e) if (txtReaderID.Text = ) Response.Write(alert(读者编号不能为空!); else readermanage.ID = txtReaderID.Text; DataSet readerds = readermanage.FindReaderByCode(readermanage, tb_reader); if (readerds.Tables0.Rows.Count 0) txtReader.Text = readerds.Tables0.Rows01.ToString(); txtSex.Text = readerds.Tables0.Rows02.ToString(); txtPaperType.Text = readerds.Tables0.Rows05.ToString(); txtPaperNum.Text = readerds.Tables0.Rows06.ToString(); txtRType.Text = readerds.Tables0.Rows03.ToString(); else Response.Write(alert(该读者不存在!); return; rtypemanage.Name = txtRType.Text; DataSet rtypeds = rtypemanage.FindRTypeByName(rtypemanage, tb_readertype); txtBNum.Text = rtypeds.Tables0.Rows02.ToString(); gvBRBookBind(); Sessionreaderid = txtReaderID.Text; protected void gvBookInfo_PageIndexChanging(object sender, GridViewPageEventArgs e) gvBookInfo.PageIndex = e.NewPageIndex; gvBInfoBind(); protected void gvBorrowBook_PageIndexChanging(object sender, GridViewPageEventArgs e) gvBorrowBook.PageIndex = e.NewPageIndex; gvBRBookBind(); protected void gvBookInfo_RowUpdating(object sender, GridViewUpdateEventArgs e) if (Sessionreaderid = null) Response.Write(alert(请输入读者编号!); else readermanage.ID = Sessionreaderid.ToString(); DataSet readerds = readermanage.FindReaderByCode(readermanage, tb_reader); if (Convert.ToInt32(readerds.Tables0.Rows013.ToString() = Convert.ToInt32(txtBNum.Text) Response.Write(alert(您最多可以借 + txtBNum.Text + 本书!); else borrowandbackmanage.ID = borrowandbackmanage.GetBorrowBookID(); borrowandbackmanage.ReadID = Sessionreaderid.ToString(); borrowandbackmanage.BookCode = gvBookInfo.DataKeyse.RowIndex.Value.ToString(); borrowandbackmanage.BorrowTime = Convert.ToDateTime(DateTime.Now.ToShortDateString(); btypemanage.TypeName = gvBookInfo.Rowse.RowIndex.Cells2.Text; int days = Convert.ToInt32(btypemanage.FindBTypeByName(btypemanage, tb_booktype).Tables0.Rows02.ToString(); TimeSpan tspan = TimeSpan.FromDays(double)days); borrowandbackmanage.YGBackTime = borrowandbackmanage.BorrowTime + tspan; borrowandbackmanage.BorrowOper = SessionName.ToString(); borrowandbackmanage.AddBorrow(borrowandbackmanage); gvBRBookBind(); bookmanage.BookCode = gv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康管理基础知识培训课件
- 便秘的西医治疗课件
- 广西钦州市第十三中学2025-2026学年高二上学期第一周考试历史试卷(含答案)
- 2025年全国中医类别医师资格定期考核理论试题及答案
- 企业电焊工安全培训总结课件
- 企业春节节前安全培训课件
- 网络餐饮管理办法评价
- 2025年中医内科试题及答案
- 新疆维吾尔自治区高级导游等级考试(导游综合知识)考前冲刺试题及答案(2025年)
- 紧急冲淋、洗眼器操作规程
- 2025年秋季开学第一课《翻越你的浪浪山》课件
- 数字媒体艺术概论
- 腹部触诊肛门直肠外生殖器
- 《抗病育种》课件
- 汽车吊装t梁施工方案(终)
- 《水循环》-完整版课件
- 轮胎印痕分析与运用课件
- 库房温湿度记录表
- 小学生天然气安全知识
- 10KV电力安全工器具试验报告
- 6、crm管理制度客户冲突管理
评论
0/150
提交评论