数据库图书管理系统报告.docx
- 文档编号:14898876
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:21
- 大小:927.46KB
数据库图书管理系统报告.docx
《数据库图书管理系统报告.docx》由会员分享,可在线阅读,更多相关《数据库图书管理系统报告.docx(21页珍藏版)》请在冰点文库上搜索。
数据库图书管理系统报告
目录
一需求分析2
1.1业务分析流程图2
二概念设计3
2.1系统模型E-R图3
三逻辑设计5
3.1系统关系模式5
四物理设计5
4.1数据库表设计5
五数据库实施8
5.1连接数据库代码8
5.2添加数据代码8
5.3修改数据代码9
5.4查询数据代码11
六数据库运行与维护12
6.1运行结果截图12
七系统总结17
一需求分析
当决定要开发一个信息系统时,首先要对信息系统的需求进行分析,需求分析要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。
图书管理和查询系统的管理部分就是要求图书管理人员通过该系统对图书、读者、借阅信息等进行统一管理,从而实现功能上的借阅图书、归还图书、超期借阅图书统计;而查询部分就是要求读者可以通过该系统查询图书馆里有哪些书,自己借过哪些书,什么时候借的书等信息,同时管理员也能够通过该系统查询图书馆借出数量的统计。
本系统的功能需求可以分两部分描述:
管理员端:
读者账号管理,实现读者用户信息的修改,删减,添加,查询,读者用户信息中,有分VIP读者和普通读者权限,VIP读者可借阅的天数更多。
图书管理,包括对图书的增加,删减,查询等。
借阅管理:
主要是学生借阅管理,图书续借,归还图书的管理。
密码管理:
管理员可以修改自己的密码,提高安全性。
读者端:
查询图书,读者用户可以进行查询。
查询借书信息,读者用户可以在读者端查询自己借书日期,应还日期,和借阅历史。
1.1业务分析流程图
二概念设计
根据数据库分析,确定实体及实体间联系,及各个实体和联系的属性并设计出E-R图。
具体如下所示,
实体:
管理员,图书类别,书目,借阅管理,读者,读者类别
联系:
读者类别与读者,借阅管理与书目,图书类别与书目是一对多联系,其他均为多对多联系。
2.1图书管理系统E-R图模型
综上,图书管理系统E-R图模型如下所示(加下划线的为码):
管理员
图书类别
书目
借阅管理
借阅管理
读者
读者类别
三逻辑设计
3.1将E-R图转换成关系模式
由于概念设计的结果是ER图,DBMS一般采用关系模型,因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。
由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。
设计结果是一组关系模式的定义。
将2.1中E-R图转化成关系模型:
管理员(管理员用户名,密码)
图书类别(书类编号,类别名称)
书目(书目编号,名称,类别编号,作者,出版社,定价,库存)
读者(读者号,密码,姓名,性别,生日,读者类别,联系电话,邮箱,住址)
读者类别(等级编号,类别名称,可借阅数目,可借阅天数,可续借天数)
借阅管理(借阅编号,借书时间,书目编号,读者号,是否归还,实还时间,应还时间,是否续借,续借时间)
读者管理(读者号,管理员用户名)
注:
因为读者管理的内容与其他关系表重复,不单独制表,但实际系统中,管理员保留读者管理功能。
四物理设计
4.1数据库表设计
管理员
adminUsername--管理员用户名
adminPassword--密码
图书类别
bookTypeId--书类编号
bookTypeName--类别名称
书目
bookId--书目编号
bookName--书目名称
bookTypeId--类别编号
author--作者
publishing--出版社
bookMoney--定价
bookNum--库存
读者
readrId--读者号
readerPassword--密码
readerName--姓名
readerSex--性别
readerBirday--生日
readTypeId--读者类别
readerPhone--联系电话
readerEmail--邮箱
readerAddress--住址
读者类别
readerTypeId--等级编号
readerTypeName--类别名称
loanNum--可借阅数目
loanDays--可借阅天数
continueDays--可续借天数
借阅管理
loanId--借阅编号
borrowTime--借书时间
bookId--书目编号
readerId--读者号
isReturn--是否归还
shouldreturn--实还时间
returnTime--应还时间
isContinue--是否续借
continueBorrowTime--续借时间
五数据库实施
1、连接数据库代码
—Web.config中数据库的连接部分关键代码代码-->
2、添加数据代码
以图书信息管理下的添加图书信息功能为例
protectedvoidBtn_Add_Click(objectsender,EventArgse)
{
/*首先构造图书对象的模型,并将界面输入的各个信息保存模型的对应属性中*/
if(this.BookName.Text!
="")
{
BooksModelbooksModel=newBooksModel();
booksModel.BookName=this.BookName.Text;
booksModel.BookTypeId=Int32.Parse(this.BookType.SelectedValue);
booksModel.Author=this.Author.Text;
booksModel.Publishing=this.Publishing.Text;
booksModel.BookMoney=Convert.ToSingle(this.BookMoney.Text);
booksModel.BookNum=Convert.ToInt32(this.BookNum.Text);
/*然后调用业务层将此图书信息加入系统中*/
BooksLogicbooksLogic=newBooksLogic();
if(booksLogic.AddNewBook(booksModel))
{
Response.Write("");
}
else
{
Response.Write("");
}
}
else
Response.Write("");
}
3、修改数据代码
以图书信息管理下的图书信息更新功能为例
protectedvoidBtn_Update_Click(objectsender,EventArgse)
{
/*建立图书模型,并将图书对象的各个属性保存起来*/
BooksModelbooksModel=newBooksModel();
booksModel.BookId=Int32.Parse(Request.QueryString["bookId"]);
booksModel.BookName=this.BookName.Text;
booksModel.BookTypeId=Int32.Parse(this.BookType.SelectedValue);
booksModel.Author=this.Author.Text;
booksModel.Publishing=this.Publishing.Text;
booksModel.BookMoney=Convert.ToSingle(this.BookMoney.Text);
booksModel.BookNum=Convert.ToInt32(this.BookNum.Text);
/*调用业务层执行图书信息的更新操作*/
BooksLogicbooksLogic=newBooksLogic();
if(booksLogic.UpdateOneBook(booksModel))
{
Response.Write("");
}
else
{
Response.Write("");
}
}
privatevoidInitView()
{
/*根据图书编号得到该图书对象的详细信息*/
intbookId=Int32.Parse(Request.QueryString["bookId"]);
BooksLogicbooksLogic=newBooksLogic();
BooksModelbooksModel=booksLogic.GetBookInfo(bookId);
/*将该图书对象的详细信息显示在界面上*/
this.BookType.SelectedValue=booksModel.BookTypeId.ToString();
this.BookName.Text=booksModel.BookName;
this.Author.Text=booksModel.Author;
this.Publishing.Text=booksModel.Publishing;
this.BookMoney.Text=booksModel.BookMoney.ToString();
this.BookNum.Text=booksModel.BookNum.ToString();
}
4、查询数据代码
以图书信息管理下的图书信息查询功能为例
publicpartialclassReader_bookQuery:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
/*验证是否登陆了系统*/
if(Session["readerFlag"]==null)
{
Response.Write("");
return;
}
/*初始化图书类别下拉框的信息*/
this.BookType.Items.Add(newListItem("请选择图书类别","0"));
DataSetds=(newBookTypeLogic()).GetBookTypeInfo();
for(inti=0;i { DataRowdr=ds.Tables[0].Rows[i]; ListItemli=newListItem(dr["bookTypeName"].ToString(),dr["bookTypeId"].ToString()); this.BookType.Items.Add(li); } } } protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse) { /*取得查询的各个参数*/ stringbookName=this.BookName.Text; intbookTypeId=Int32.Parse(this.BookType.SelectedValue); stringauthor=this.Author.Text; /*调用业务层得到查询的结果数据集*/ DataSetds=newDataSet(); ds=(newBooksLogic()).QueryBooksInfo(bookName,bookTypeId,author); /*将查询结果集绑定到gridview控件上*/ this.GridView1.DataSourceID=null; this.GridView1.DataSource=ds; this.GridView1.PageIndex=e.NewPageIndex;; this.GridView1.DataBind(); } protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse) { if(e.Row.RowType==DataControlRowType.DataRow) { //当鼠标选择某行时变颜色 e.Row.Attributes.Add("onmouseover","c=this.style.backgroundColor;this.style.backgroundColor='#00ffee';"); e.Row.Attributes.Add("onmouseout","this.style.backgroundColor=c;"); /*如果出版社的文字长度够长就剪切些*/ stringpublishing=e.Row.Cells[3].Text; if(publishing.Length>6) { e.Row.Cells[3].Text=publishing.Substring(0,6)+"..."; } } } protectedvoidBtn_Query_Click(objectsender,EventArgse) { /*取得查询的各个参数*/ stringbookName=this.BookName.Text; intbookTypeId=Int32.Parse(this.BookType.SelectedValue); stringauthor=this.Author.Text; /*调用业务层进行查询*/ this.GridView1.DataSourceID=""; this.GridView1.DataSource=(newBooksLogic()).QueryBooksInfo(bookName,bookTypeId,author); this.GridView1.DataBind(); } } 六数据库运行与维护 1,运行结果截图 1 登陆界面 2 首页 3 管理员--读者管理 增加读者: 4 管理员--借阅书籍 5 管理员--密码修改 6 管理员--书籍管理 增加类别: 类别修改: 增加图书: 图书修改: 7 读者--书籍查询 8 读者--借阅历史 9 读者--借阅情况 10 读者--密码修改 七系统总结 在这次项目设计中,我们小组所选择的是设计一个图书管理和查询系统,这对我们来说是一次尝试与创新的过程,也可以说是一个挑战的过程。 虽然学了数据库这么久了,但是我们还是缺少经验。 现在我们利用自己学到的知识设计并制作一个图书管理系统,这本身就是一个知识转化为生产力的过程,所以大家都很兴奋,都投入了很高的热情与努力。 在具体的设计与实施中,我们看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,并感受深刻。 这次课程设计加深了我们对数据库系统设计相关知识以及SQL SERVER相关功能的理解。 比如在建立基本的表、视图、索引、存储过程等,都比以前更加熟悉了,并在解决各种问题的过程中学到了很多新的知识。 在设计中我们基本能按照规范的方法和步骤进行,首先对现有的系统进行调查,并查阅有关资料,最后确定设计方案,然后设计并制作。 通过本次的课程设计,我们收获颇多,又再一次熟悉了教材。 因为它综合了SQLServer的数据库、表、视图、存储过程及函数的创建与应用,以及数据的增、删、改的简单操作,让我真真切切地感觉学到了些东西。 虽然我们成功做出了系统,达到了老师的要求,但也有许多不足。 例如,本次所设计的图书管理系统规模小、功能少;在需求分析方面不够完善导致所设计的数据库管理系统存在一定的数据冗余。 这些都是以后需要克服和解决的方向。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 图书管理系统报告 图书 管理 系统 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)