目录
摘要 ............................................................................................................................................... 1
一、问题描述与要求........................................................................................................... 2 二、系统分析 .......................................................................................................................... 2 三、系统数据库设计........................................................................................................... 3
1.数据库概念结构设计..................................................................................................... 3 2.数据库逻辑结构设计..................................................................................................... 5
四、系统设计与实现........................................................................................................... 6
1.系统体系结构及实现方法 ............................................................................................ 6 2.系统工作环境及支撑软件 ........................................................................................... 6
五、系统集成测试 ................................................................................................................ 6
1.登录界面 .......................................................................................................................... 6 2.数据库后台关系图 ........................................................................................................ 7
六、附录 ..................................................................................................................................... 8
1.数据库创建代码 ............................................................................................................. 8 2.网站后台部分代码 ...................................................................................................... 10
总结与致谢 ............................................................................................................................ 16
参考文献 ................................................................................................................................ 17
I
山东建筑大学信息与电气工程学院课程设计说明书
摘 要
明确了图书馆工作由图书管理、读者管理、借书服务和还书服务4部分组成。根据学生图书借阅管理系统的需求分析,我们可以先得到3个实体:书、学生、管理员。将图书馆管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:管理员,书,读者。图书馆管理系统采用B/S(浏览器/服务器)结构。服务器主要任务是承担网络监听和实现客户端链接、数据库管理、数据存取和数据传输功能。浏览器面向用户,承担着图书馆管理系统的管理和服务工作。关键词:书;读者;管理员;数据库
1
山东建筑大学信息与电气工程学院学院课程设计说明书
一、 问题描述和要求
该系统是一个专门为学校图书管理而设计的系统。学生从图书馆借书,对图书馆来说,学生好像书籍一样,都是先被注册到系统中的。图书馆需要处理新买的图书,包括添加和删除等,图书管理员是图书馆的雇员,所有图书登记、读者注册的工作由图书管理员完成,他们负责和学生交互,该系统支持他们的工作。图书馆要求系统能方便的建立、更新和删除存在该系统中有关书名、读者等信息,也能方便的登记图书的借出与归还等信息。
二、 系统分析
通过对现行图书馆业务的调查,明确了图书馆工作由图书管理、读者管理、借书服务和还书服务4部分组成。对现有系统功能的描述如下:
1、图书管理
1)对馆内的所有图书按类别统一编码;对各类图书建立图书登记卡,登
记图书的主要信息。
2)新购的图书要编码和建卡,对遗失的图书要注销其图书登记卡。 2、读者管理
1)建立读者信息表,对读者统一编号。
2)对新加盟的读者,将其信息加入到读者信息表中;对某些特定的读者,
将其信息从读者信息表中删除。
3)当读者情况变化时,修改读者信息表中相应的记录。 3、借书服务
1)未借出的图书要按类别上架,供读者查看。
2)建立借书登记卡,卡上记录着书号、读者姓名和编号、借书日期;将
借书登记卡按读者单位、读者编号集中保管。
3)读者提出借书请求时,先查看该读者的借书卡,统计读者已借书的数
量。如果该读者无借书超期或超量情况,则办理借书手续。 4)办理借书手续的方法是:填写借书登记卡,管理员核实后读者可将图
书带走。 4、还书服务
1)读者提出还书要求时,先对照相应的借书卡,确认书号和书名无误后
可办理还书手续。
2
山东建筑大学信息与电气工程学院课程设计说明书
2)办理还书手续的方法是:在借书卡上填写还书时间,管理员签名;将
已还的借书卡集中保管;收回图书。 3)将收回的图书上架,供读者查看和借阅。
三、 系统数据库设计
1. 数据库概念结构设计
根据学生图书借阅管理系统的需求分析,我们可以先得到3个实体:书、学生、管理员。
再分析他们之间的关系,管理员与书之间存在着一对多的联系,将该联系命名为登记,一个管理员可以登记多本图书,联系如图所示:
管理员与学生(也就是读者)之间也存在着一对多的联系,该联系命名为注册,一个管理员可以注册多名学生,联系如图所示:
管理员、书、学生(读者)之间存在着多对多的借阅联系,一个学生可以借阅多本图书,一个管理员可以办理多次借阅与归还,一本书可以被多名学生借阅, 因此3个实体与他们之间的联系如图所示:
3
山东建筑大学信息与电气工程学院课程设计说明书
根据系统需求分析,对每个实体我们分析相应的属性,图书管理员的属性有:职工号、姓名、性别,读者的属性只有:借书证号、姓名、性别、系别,书的属性只有:书号、书名、作者、出版社、分类号。
将上述实体、属性、联系等集成,得到学生图书借阅管理系统完整的E-R模型图如下图所示:
4
山东建筑大学信息与电气工程学院课程设计说明书
2. 数据库逻辑结构设计
将图书馆管理系统的E-R图转换为关系数据库的数据模型,其关系模式为: 管理员(职工号,姓名,性别,权限级别), 书(书号,书名,作者,出版社,分类号), 读者(借书证号,姓名,性别,系别),
根据1:n联系的转换规则,我们把联系“登记”的属性即“读者权限”和管理员关系的主键即职工号加入到读者关系中,得到读者改进后的关系: 读者(借书证号,姓名,性别,系别,职工号), 这里职工号是外键。
根据1:n联系的转换规则,我们把联系“注册”的属性即“入库时间”和管理员关系的主键即职工号加入到读者关系中,得到书改进后的关系: 书(书号,书名,作者,出版社,分类号,入库时间,职工号), 这里职工号也是外键。
将一个三元关系管理员、书、读者之间的借阅关系转换为一个关系:
5
山东建筑大学信息与电气工程学院课程设计说明书
借阅(职工号,借书证号,书号,借出日期,归还日期)。 所以最终得到的关系模型为:
管理员(职工号,姓名,性别,权限级别),
书(书号,书名,作者,出版社,分类号,入库时间,职工号), 读者(借书证号,姓名,性别,系别,职工号),
借阅(职工号,借书证号,书号,借出日期,归还日期)。 用英文命名的关系模式为:
Administrator(Ano,Aname,Asex,Aprivilege),
BOOK(Bno,Bname,Bauthor,Bpublisher,BTPno,Indate,Ano), READER(Rno,Rname,Rsex,Rdept,Ano), Borrow(Ano,Rno,Bno,Bdate,Rdata)。
四、 系统设计与实现
1.系统体系结构及实现方法
图书馆管理系统采用B/S(浏览器/服务器)结构。服务器主要任务是承担网络监听和实现客户端链接、数据库管理、数据存取和数据传输功能。浏览器面向用户,承担着图书馆管理系统的管理和服务工作。 2.系统工作环境及支撑软件
(1)服务器端的工作环境要求及支撑软件 操作系统:Windows XP或与之兼容的系统 数据库管理系统:SQL Server 2000企业版
数据库应用系统开发软件:Microsoft Visual Studio 2008 (2)客户机的工作环境要求及支撑软件 操作系统:Windows 98或更高与之兼容的系统
数据库应用系统开发软件:Microsoft Visual Studio 2008
五、 系统集成测试
1. 登录界面
6
山东建筑大学信息与电气工程学院课程设计说明书
2.数据库后台关系图
7
山东建筑大学信息与电气工程学院课程设计说明书
六、 附录
1.数据库创建代码
CREATE DATABASE BOOKmanage use BOOKmanage go
create table Administrator (
Ano char(10) primary key , Aname nvarchar(30) not null , Asex char(2),
8
山东建筑大学信息与电气工程学院课程设计说明书
Aprivilege char(20) ) go
create table BOOK (
Bno char(10) primary key, Bname nvarchar(30) not null , Bauthor nvarchar(30), Bpublisher nvarchar(50), BTPno char(10), Indata datetime , Ano char(10) ) go
create table READER (
Rno char(10) primary key , Rname nvarchar(30) not null, Rsex char(2), Rdept char(20), Ano char(10) ) go
create table Borrow (
Ano char(10) ,
Rno char(10) ,
9
山东建筑大学信息与电气工程学院课程设计说明书
Bno char(10) , Bdate datetime , Rtime datetime ,
PRIMARY KEY (Ano,Rno,Bno),
foreign key (Ano) references Administrator(Ano), foreign key (Rno) references READER(Rno), foreign key (Bno) references BOOK(Bno) ) Go
2.网站后台部分代码:
using System;
using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Collections; using System.Data;
using System.Data.SqlClient;
using System.Web.UI.HtmlControls; using System.Configuration;
public partial class Administrator : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
// gridviewdiv.Style.Add(\"display\ gridviewdiv.Disabled = true;
gridviewdiv.EnableViewState =false; }
/// /// 查询读者个人信息 ///
/// ///
10
山东建筑大学信息与电气工程学院课程设计说明书
protected void btqueryREADERinfo_Click(object sender, EventArgs e) {
if (tbRnumber.Text==\"\") {
Response.Write(\"\");
return; }
string conn = MySql.ConnectionStringLocalTransaction; string Rno = tbRnumber.Text.ToString();
string cmdstr = \"select Rno as 借书证号, Rname as 姓名,Rsex as 性别,Rdept as 系别 from READER where
Rno=@number\";
SqlParameter sqlpara = new SqlParameter(\"@Rnumber\ sqlpara.Value = tbRno.Text.ToString(); SqlParameter[] cmdparas = { sqlpara };
DataSet ds = MySql.ExecuteDataSet(conn, CommandType.Text, cmdstr, cmdparas); GridView1.DataSource = ds; GridView1.DataBind();
gridviewdiv.Disabled = false; gridviewdiv.Disabled = false;
gridviewdiv.EnableViewState = true; }
///
/// ///
protected void btquerybook_Click(object sender, EventArgs e) {
if (tbBnumber.Text == \"\") {
Response.Write(\"\");
return; }
string conn = MySql.ConnectionStringLocalTransaction; string Bno= tbBnumber.Text.ToString();
string cmdstr = \"select Bno as 书号,Bname as 书名, Bauthor as 作者,Bpublisher as 出版社 BTPno as 分类
号,Indate as 入库时间,Ano as 职工号 from BOOK where Bno=@Bnumber\";
11
山东建筑大学信息与电气工程学院课程设计说明书
SqlParameter sqlpara = new SqlParameter(\"@Bnumber\ sqlpara.Value = tbBnumber.Text.ToString(); SqlParameter[] cmdparas = { sqlpara };
DataSet ds = MySql.ExecuteDataSet(conn, CommandType.Text, cmdstr, cmdparas); GridView1.DataSource = ds; GridView1.DataBind();
gridviewdiv.Disabled = false;
gridviewdiv.EnableViewState = true; }
/// /// 查询读者借阅情况 ///
/// ///
protected void btqueryBorrow_Click(object sender, EventArgs e) {
if (tbRnoBorrow.Text==\"\") {
Response.Write(\"\");
return; }
string conn = MySql.ConnectionStringLocalTransaction; string Bnumber = tbRnoBorrow.Text.ToString();
string cmdstr = \"select Rno as 学号 ,BOOK.Bno as 书号,Bname as 书名,Btime as 借出时间,Rtime as 归还时间
from Borrow,BOOK where Rno=@Rnumber and Bowwer.Bno=BOOK.Bno \" ;
SqlParameter sqlpara = new SqlParameter(\"@Rnumber\ sqlpara.Value = tbRnoBorrow.Text.ToString(); SqlParameter[] cmdparas = { sqlpara };
DataSet ds = MySql.ExecuteDataSet(conn, CommandType.Text, cmdstr, cmdparas); GridView1.DataSource = ds; GridView1.DataBind();
gridviewdiv.Disabled = false;
gridviewdiv.EnableViewState = true; }
/// /// 修改读者个人信息或添加新读者 ///
/// ///
12
山东建筑大学信息与电气工程学院课程设计说明书
protected void btchangeREADERinfo_Click(object sender, EventArgs e) {
Button bt = (Button)sender; if (bt.ID == \"bttuinfoedit\") {
if (tbRno.Text.ToString() != \"\") {
string Rnumber = tbRno.Text.ToString().TrimEnd(); string url = \"READERinfoedit.aspx?Rno=\" + snumber; Response.Redirect(url); } else {
Response.Write(\"\");
return; } } else {
string url = \"READERinfoedit.aspx?Rno=addnew\"; Response.Redirect(url); } }
protected void btBOOKedit_Click(object sender, EventArgs e) {
Button bt = sender as Button; if (bt.Text == \"修改图书信息\") {
if (tbBnumber.Text!= \"\") {
string Bnumber = tbBnumber.Text;
string url = \"BOOK.aspx?cno=\" + Bnumber + \"&btxiugai=xg\"; Response.Redirect(url); } else {
Response.Write(\"\");
return; }
}
13
山东建筑大学信息与电气工程学院课程设计说明书
else {
string url = \"BOOK.aspx?btxiugai=btadd\"; Response.Redirect(url); } }
protected void btBorrowedit_Click(object sender, EventArgs e) {
if (tbRnoBorrow.Text!= \"\") {
string Rnumber = tbRnoBorrow.Text;
string url = \"Browwer.aspx?Rno=\" + Rnumber + \"&btxiugai=xg\"; Response.Redirect(url); } else {
Response.Write(\"\");
return; } }
protected void btqueryallREADER_Click(object sender, EventArgs e) {
string conn = MySql.ConnectionStringLocalTransaction; string Rno = tbRno.Text.ToString();
string cmdstr = \"select Rno as 学号, Rname as 姓名,Rsex as 性别,Rdept as 系别,Ano as 职工号 from READER\";
SqlParameter[] cmdparas = {};
DataSet ds = MySql.ExecuteDataSet(conn, CommandType.Text, cmdstr, cmdparas); GridView1.DataSource = ds; GridView1.DataBind();
gridviewdiv.Disabled = false; gridviewdiv.Disabled = false;
gridviewdiv.EnableViewState = true; }
protected void btqueryallbook_Click(object sender, EventArgs e) {
string conn = MySql.ConnectionStringLocalTransaction; string cnumber = tbBnunber.Text.ToString();
string cmdstr = \"select Bno as 书号, Bname as 书名, Bpublisher as 出版社,Bauthor as 作者,BTPno as 分类号,Indate as 入库时间,Ano as 职工号 from BOOK\"; SqlParameter[] cmdparas = {};
DataSet ds = MySql.ExecuteDataSet(conn, CommandType.Text, cmdstr, cmdparas); GridView1.DataSource = ds;
14
山东建筑大学信息与电气工程学院课程设计说明书
GridView1.DataBind();
gridviewdiv.Disabled = false;
gridviewdiv.EnableViewState = true; } }
15
山东建筑大学信息与电气工程学院课程设计说明书
总结与致谢
通过本次课程设计,我对数据库的应用有了更深刻的体会。网络系统都是离不开数据库的支持的。数据库设计的是否合理,直接影响到系统的性能。数据库理论对于实际应用有很大的指导意义。此次图书管理系统的设计让我对数据库的了解更深入,可以把它同实际相结合,同时,又让我学会了一个新的应用软件。 在整个设计过程中,通过怎样对把各个管理信息连接起来的分析,锻炼了我们对事情的分析能力,通过怎样解决过程中出现的问题,提高了我们查找文献的能力、对网络资源的利用能力和和其他同学的交流沟通能力。而且,经历这次的课程设计,我们也学会了自学和分工协作。我觉得每一次的设计,都是让我们对原有的知识从了解表面到深入本质,从个体学习到整体把握的跳跃,对新知识的汲取,更是让我们把课本的知识应用到实际中,让我们了解了我们的学习有什么用,能够解决什么样的问题,增加我们的自信和学习的动力。感谢杨老师和张老师的指导,让我此次课程设计有了突出的认识。
本次的图书管理系统,在功能上仅实现了图书,用户,图书类别和订单信息的管理,只是一些非常基础的功能,没有设计添加图书的功能。此外,该系统原先计划设计的一些功能也没有实现。系统完全实现的功能实现图书信息的删除、更改和查看等。 尽管还是有许多的不完善之处,但是总的说来收获颇多。 再次感谢杨老师和张老师!
16
山东建筑大学信息与电气工程学院课程设计说明书
参考文献
[1]《.数据库系统概论》(第四版),王珊,,萨师煊,北京:高等教育出版.2006 [2]《数据库原理及应用》,麦中凡,何玉洁,人民邮电出版社.2008 [3]《软件开发技术基础》(第2版),赵应良,机械工业出版社.2004
[4]《SQL Server 2005 数据库简明教程》,董福贵,李存斌,北京:电子工业出版社.2006
[5]《SQL Server 2005 数据库应用系统开发》,启明工作室,北京:人民邮电出版社.2007
17
因篇幅问题不能全部显示,请点此查看更多更全内容