数据库课程设计图书借阅管理系统设计附代码Word格式文档下载.docx
《数据库课程设计图书借阅管理系统设计附代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库课程设计图书借阅管理系统设计附代码Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
对各类图书建立图书登记卡,登记图书的主要信息。
2)新购的图书要编码和建卡,对遗失的图书要注销其图书登记卡。
(2)读者管理
1)建立读者信息表,对读者统一编号。
2)对新加盟的读者,将其信息加入到读者信息表中;
对某些特定的读者,将其信息从读者信息表中删除。
3)当读者情况变化时,修改读者信息表中相应的记录。
(3)借书服务
1)未借出的图书要按类别上架,供读者查看。
2)建立借书登记卡,卡上记录着书号、读者姓名和编号、借书日期;
将借书登记卡按读者单位、读者编号集中保管。
3)读者提出借书请求时,先查看该读者的借书卡,统计读者已借书的数量。
如果该读者无借书超期或超量情况,则办理借书手续。
4)办理借书手续的方法是:
填写借书登记卡,管理员核实后读者可将图书带走。
(4)还书服务
1)读者提出还书要求时,先对照相应的借书卡,确认书号和书名无误后可办理还书手续。
2)办理还书手续的方法是:
在借书卡上填写还书时间,管理员签名;
将已还的借书卡集中保管;
收回图书。
3)将收回的图书上架,供读者查看和借阅。
三、系统数据库设计
1.数据库概念结构设计
根据学生图书借阅管理系统的需求分析,我们可以先得到3个实体:
书、学生、管理员。
再分析他们之间的关系,管理员与书之间存在着一对多的联系,将该联系命名为登记,一个管理员可以登记多本图书,联系如图所示:
管理员与学生(也就是读者)之间也存在着一对多的联系,该联系命名为注册,一个管理员可以注册多名学生,联系如图所示:
管理员、书、学生(读者)之间存在着多对多的借阅联系,一个学生可以借阅多本图书,一个管理员可以办理多次借阅与归还,一本书可以被多名学生借阅,
因此3个实体与他们之间的联系如图所示:
根据系统需求分析,对每个实体我们分析相应的属性,图书管理员的属性有:
职工号、姓名、性别,读者的属性只有:
借书证号、姓名、性别、系别,书的属性只有:
书号、书名、作者、出版社、分类号。
将上述实体、属性、联系等集成,得到学生图书借阅管理系统完整的E-R模型图如下图所示:
2.数据库逻辑结构设计
将图书馆管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:
管理员(职工号,姓名,性别,权限级别),
书(书号,书名,作者,出版社,分类号),
读者(借书证号,姓名,性别,系别),
根据1:
n联系的转换规则,我们把联系“登记”的属性即“读者权限”和管理员关系的主键即职工号加入到读者关系中,得到读者改进后的关系:
读者(借书证号,姓名,性别,系别,职工号),
这里职工号是外键。
n联系的转换规则,我们把联系“注册”的属性即“入库时间”和管理员关系的主键即职工号加入到读者关系中,得到书改进后的关系:
书(书号,书名,作者,出版社,分类号,入库时间,职工号),
这里职工号也是外键。
将一个三元关系管理员、书、读者之间的借阅关系转换为一个关系:
借阅(职工号,借书证号,书号,借出日期,归还日期)。
所以最终得到的关系模型为:
用英文命名的关系模式为:
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)服务器端的工作环境要求及支撑软件
操作系统:
WindowsXP或与之兼容的系统
数据库管理系统:
SQLServer2000企业版
数据库应用系统开发软件:
MicrosoftVisualStudio2008
(2)客户机的工作环境要求及支撑软件
Windows98或更高与之兼容的系统
五、系统集成测试
1.登录界面
2.数据库后台关系图
六、附录
1.数据库创建代码
CREATEDATABASEBOOKmanage
useBOOKmanage
go
createtableAdministrator
(
Anochar(10)primarykey,
Anamenvarchar(30)notnull,
Asexchar
(2),
Aprivilegechar(20)
)
createtableBOOK
Bnochar(10)primarykey,
Bnamenvarchar(30)notnull,
Bauthornvarchar(30),
Bpublishernvarchar(50),
BTPnochar(10),
Indatadatetime,
Anochar(10)
)
createtableREADER
Rnochar(10)primarykey,
Rnamenvarchar(30)notnull,
Rsexchar
(2),
Rdeptchar(20),
createtableBorrow
Anochar(10),
Rnochar(10),
Bnochar(10),
Bdatedatetime,
Rtimedatetime,
PRIMARYKEY(Ano,Rno,Bno),
foreignkey(Ano)referencesAdministrator(Ano),
foreignkey(Rno)referencesREADER(Rno),
foreignkey(Bno)referencesBOOK(Bno)
Go
2.网站后台部分代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Text;
usingSystem.Collections;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Web.UI.HtmlControls;
usingSystem.Configuration;
publicpartialclassAdministrator:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
//gridviewdiv.Style.Add("
display"
"
none"
);
gridviewdiv.Disabled=true;
gridviewdiv.EnableViewState=false;
}
///<
summary>
///查询读者个人信息
/summary>
paramname="
sender"
>
<
/param>
e"
protectedvoidbtqueryREADERinfo_Click(objectsender,EventArgse)
if(tbRnumber.Text=="
"
Response.Write("
scriptlanguage='
javascript'
alert('
请输入要查询的借书证号'
/script>
return;
stringconn=MySql.ConnectionStringLocalTransaction;
stringRno=tbRnumber.Text.ToString();
stringcmdstr="
selectRnoas借书证号,Rnameas姓名,Rsexas性别,Rdeptas系别fromREADERwhere
Rno=@number"
;
SqlParametersqlpara=newSqlParameter("
@Rnumber"
SqlDbType.Char);
sqlpara.Value=tbRno.Text.ToString();
SqlParameter[]cmdparas={sqlpara};
DataSetds=MySql.ExecuteDataSet(conn,CommandType.Text,cmdstr,cmdparas);
GridView1.DataSource=ds;
GridView1.DataBind();
gridviewdiv.Disabled=false;
gridviewdiv.EnableViewState=true;
///查询图书信息
protectedvoidbtquerybook_Click(objectsender,EventArgse)
if(tbBnumber.Text=="
请输入要查询的书号'
stringBno=tbBnumber.Text.ToString();
selectBnoas书号,Bnameas书名,Bauthoras作者,Bpublisheras出版社BTPnoas分类
号,Indateas入库时间,Anoas职工号fromBOOKwhereBno=@Bnumber"
@Bnumber"
sqlpara.Value=tbBnumber.Text.ToString();
///查询读者借阅情况
protectedvoidbtqueryBorrow_Click(objectsender,EventArgse)
if(tbRnoBorrow.Text=="
请输入要查询的读者借书证号'
stringBnumber=tbRnoBorrow.Text.ToString();
selectRnoas学号,BOOK.Bnoas书号,Bnameas书名,Btimeas借出时间,Rtimeas归还时间
fromBorrow,BOOKwhereRno=@RnumberandBowwer.Bno=BOOK.Bno"
;
sqlpara.Value=tbRnoBorrow.Text.ToString();
///修改读者个人信息或添加新读者
protectedvoidbtchangeREADERinfo_Click(objectsender,EventArgse)
Buttonbt=(Button)sender;
if(bt.ID=="
bttuinfoedit"
if(tbRno.Text.ToString()!
="
stringRnumber=tbRno.Text.ToString().TrimEnd();
stringurl="
READERinfoedit.aspx?
Rno="
+snumber;
Response.Redirect(url);
else
请输入要修改的读者借书证号'
Rno=addnew"
protectedvoidbtBOOKedit_Click(objectsender,EventArgse)
Buttonbt=senderasButton;
if(bt.Text=="
修改图书信息"
if(tbBnumber.Text!
stringBnumber=tbBnumber.Text;
BOOK.aspx?
cno="
+Bnumber+"
&
btxiugai=xg"
请输入要修改的书号'
btxiugai=btadd"
protectedvoidbtBorrowedit_Click(objectsender,EventArgse)
if(tbRnoBorrow.Text!
stringRnumber=tbRnoBorrow.Text;
Browwer.aspx?
+Rnumber+"
protectedvoidbtqueryallREADER_Click(objectsender,EventArgse)
stringRno=tbRno.Text.ToString();
selectRnoas学号,Rnameas姓名,Rsexas性别,Rdeptas系别,Anoas职工号fromREADER"
SqlParameter[]cmdparas={};
protectedvoidbtqueryallbook_Click(objectsender,EventArgse)
stringcnumber=tbBnunber.Text.ToString();
selectBnoas书号,Bnameas书名,Bpublisheras出版社,Bauthoras作者,BTPnoas分类号,Indateas入库时间,Anoas职工号fromBOOK"
}
七、参考文献
1.《数据库系统概论(第4版)》高等教育出版社;
2.《数据库设计》机械工业出版社;
3.《C#程序设计及应用教程(第2版)》人民邮电出版社。