数据库《图书管理系统》课程设计说明书.docx
- 文档编号:24790538
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:20
- 大小:198.64KB
数据库《图书管理系统》课程设计说明书.docx
《数据库《图书管理系统》课程设计说明书.docx》由会员分享,可在线阅读,更多相关《数据库《图书管理系统》课程设计说明书.docx(20页珍藏版)》请在冰豆网上搜索。
数据库《图书管理系统》课程设计说明书
课程设计说明书
课程名称
题目
专业班级
学号姓名
起止日期
指导教师成绩_________
辽宁石油化工大学计算机与通信工程学院
摘要
图书馆管理系统是我国大部分院校或其它部门不可缺少的部分,图书管理系统能够为用户实现借阅图书、管理等,随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对图书资源信息进行管理,具有手工管理所无法比拟的优点。
例如:
查阅迅速、安全性高、可靠性高、存储量大、保密性好、成本低等。
因此,开发这样的管理软件是很有必要。
本案例开发的是“图书管理系统”。
图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
在论文中对图书管理系统进行了系统总体设计,介绍了系统的总体功能、模块划分和工作流程,为进一步开发系统奠定基础。
通过使用SQL2008R2设计了一个数据库的系统。
其中有实现借书、还书、图书录入、读者录入、图书查询、借阅查询、读者查询、读者信息等功能。
关键词:
信息管理系统(MIS);数据库;图书管理系统
Abstract
Librarymanagementsystemisanecessarypartofmostcollegesanduniversitiesinourcountryorotherdepartments,booksmanagementsystemmanagementsystemcanimplementborrowingbooks,fortheusermanagement,etc.,withthecontinuousimprovementofscienceandtechnology,computerscienceincreasinglymature,itspowerfulfeatureshavedeepunderstandingforthepeople,itenteredthehumansocietyeachdomainandisplayinganincreasinglyimportantrole.Asapartofcomputerapplication,usingcomputertomanageinformationresourcesofbooks,hasthecraftsincomparableadvantages.Forexample:
therapid,highsecurity,highreliability,theservesbig,thesecrecygood,thecostlowstatus.Therefore,itisnecessarytodevelopsuchmanagementsoftware.Ofthedevelopmentofthiscaseis"thebooksmanagementsystem".Booksmanagementsystemmanagementsystemisatypicalapplicationofmanaginginformationsystem(MIS),itsdevelopmentmainlyincludestheestablishmentandmaintenanceofdatabaseandfront-endapplicationdevelopmenttwoaspects.Ofbooksmanagementsystemmanagementsysteminthepaperhascarriedonthesystemoveralldesign,thispaperintroducesthesystem'soverallfunction,modulepartitionandworkflow,laythefoundationforthefurtherdevelopmentofsystem.ByusingSQL2008R2designadatabasesystem.Oneimplementationreadersborrowbooksandreturnthebook,bookentry,entry,booksquery,borrowinginformationquery,queryofreaders,andreaders,andotherfunctions.
Keywords:
informationmanagementsystem(MIS);Database;Booksmanagementsystemmanagementsystem
指导教师评语:
成绩:
指导教师(签字):
年月日
目录
一、设计任务7
1.1设计题目7
1.2设计内容7
1.3功能要求7
二、系统定义8
三、需求分析8
3.1功能需求8
3.2数据流图9
3.3数据字典9
四、系统设计10
4.1概念结构设计10
4.2逻辑结构设计11
五、详细设计11
5.1创建数据库及表结构11
5.2图书管理12
5.3录入管理员13
5.4读者管理13
5.5图书借阅14
5.6图书归还15
5.7借书证挂失16
5.8借书证恢复16
5.9按借阅证号查询借阅信息16
5.10通过图书编号查询借阅信息18
5.11分类统计馆藏及借阅状态19
六、系统实现与测试20
6.1开发平台和工具选择20
6.2系统测试20
七、课程设计总结20
参考文献21
一、设计任务
1.1设计题目
图书管理系统
1.2设计内容
某单位图书馆要开发一个图书管理系统。
图书信息包括:
图书编号、ISBN号、图书名称、图书类别、作者、出版社、出版日期,单价,册数。
为方便管理图书借阅,对于每册图书增加图书条码号和本册图书是否可借及结出状态标识。
图书馆设多名管理人员负责借/还图书服务。
该单位要求每名工作人员须办理图书证才能借阅图书,并规定图书可借数量。
在设计时应考虑借书证挂失和恢复功能,挂失的书证暂时不能借书;图书的借阅时间期限应明确的规定,对于尚有超过期限的借阅人应该暂时停止借阅。
在设计时应充分考虑图书条码号、图书编号及图书证号的编码规则及图书分类方法。
对于图书的借阅要有详细的明细记录。
1.3功能要求
a.新书信息录入(同时对每册图书产生相应的条码)(存储过程完成,返回0,成功,1失败)。
b.图书管理人员录入。
(存储过程完成,返回0,成功,1失败)。
c.员工书证办理。
(存储过程完成,返回0,成功,1失败)。
d.图书借阅。
(存储过程完成)。
f.图书归还。
(存储过程完成)
g.书证挂失。
存储过程完成,返回0,成功,1失败)。
h.书证恢复。
存储过程完成,返回0,成功,1失败)。
i.按读者查询图书借阅信息,按借还日期降序排列(存储过程完成)。
输入:
图书证号
输出:
姓名:
张三单位:
计划处
图书编号书名借/还日期经手人
---------------------------------------------------
102832938雷锋精神借2014/8/1刘丽
121222222数据库借2014/04/01刘丽
211222121操作系统还2013/09/01李平
j.按图书编号查询借阅信息,按借还日期降序排列(存储过程完成)。
输入:
图书条码号
输出:
图书名称:
操作系统
读者编号姓名借/还日期经手人
---------------------------------------------------
102832938河汉借2014/8/1刘丽
121222222聊聊借2014/04/01刘丽
211222121明明还2013/09/01李平
k.分类统计图书的馆藏及借阅状态情况(函数完成)。
输入:
无
输出:
类别馆藏数量借出比例
TP1200010%
PW200032.1
……
l.设计T-SQL批处理驱动程序测试你的程序。
二、系统定义
本图书管理系统是为了实现对计算机对图书的借阅以及管理,使用计算机对图书资源信息进行管理,具有手工管理所无法比拟的优点。
例如:
查阅迅速、安全性高、可靠性高、存储量大、保密性好、成本低等优点。
三、需求分析
3.1功能需求
具有管理员对新书的录入,给读者办理图书证,查询借阅信息,实现图书的借阅和归还,以及通过图书证号来查询借阅信息和通过图书编号来查询图书的借阅信息。
3.2数据流图
3.3数据字典
数据元素
数据类型
长度
数据来源
借书证号
varchar
20
借阅者
姓名
varchar
40
借阅者
单位
varchar
40
借阅者
最大借阅量
int
借阅者
最长借阅时间
int
借阅者
管理员编号
varchar
20
管理员
管理员姓名
varchar
40
管理员
图书编号
varchar
30
借阅
借书证号
varchar
20
借阅
管理员编号
varchar
20
借阅
借还日期
date
借阅
状态
char
2
借阅
ISBN号
char
17
图书信息
名称
char
30
图书信息
作者
char
6
图书信息
出版社
char
15
图书信息
日期
date
图书信息
单价
money
图书信息
图书编号
varchar
30
编号
ISBN号
char
17
编号
类别
char
2
编号
状态
char
6
编号
类别
char
2
类别
册数
int
类别
四、系统设计
4.1概念结构设计
系统E-R图
4.2逻辑结构设计
关系模式:
借阅者(借书证号,姓名,单位,最大借阅量,最长借阅时间,借书证状态)
管理员(管理员编号,姓名)
借阅(图书编号,借书证号,借还日期,管理员编号,状态)
将图书实体转化为三个关系模式:
图书信息(ISBN,名称,作者,出版社,日期,单价)
编号(图书编号,ISBN,类别,状态)
类别(类别,册数)
五、详细设计
5.1创建数据库及表结构
创建数据库
Createdatabaselibrary
创建借阅者表:
createtablereader(
reader_idvarchar(20)primarykey,
reader_namevarchar(40),
reader_departvarchar(40),
max_borrowintcheck(max_borrowin(9)),
max_dateintcheck(max_datein(30))
card_stchar(4)check(card_stin('可用','禁用')))
创建管理员表:
createtablemanager(
manager_idvarchar(20)primarykey,
manager_namevarchar(40),
)
创建借阅信息表:
createtableborrow(
book_idvarchar(30)foreignkeyreferencesid(book_id),
reader_idvarchar(20)foreignkeyreferencesreader(reader_id),
br_datedate,
manager_idvarchar(20)foreignkeyreferencesmanager(manager_id),
stchar
(2)check(stin('借','还'))
)
创建图书信息表:
createtablebookinfo(
book_isbnchar(17)primarykey,
book_namechar(30),
writterchar(6),
publishchar(15),
publish_datedate,
pricemoney
)
创建图书编号表:
createtableid(
book_idvarchar(30)primarykey,
book_isbnchar(17)foreignkeyreferencesbookinfo(book_isbn),
book_typechar
(2)foreignkeyreferencesbtype(book_type),
book_stchar(6)check(book_stin('可借','不可借'))
)
创建图书类别表:
Createtablebtype(
book_typechar
(2)primarykey,
numint
)
5.2图书管理
createprocadd_book
@isbnchar(17),@book_namechar(30),@writterchar(6),@publishchar(15),@publish_datedate,@pricemoney,@typechar
(2)
as
declare@book_idvarchar(9)
begin
insertintobookinfovalues(@isbn,@book_name,@writter,@publish,@publish_date,@price)
set@book_id=@type+
convert(char(9),convert(int,(selectmax(substring(book_id,3,7))fromidwherebook_type=@type))+1)
insertintoidvalues(@book_id,@isbn,@type,'可借')
updatebtypesetnum=num+1wherebook_type=@type
end
5.3录入管理员
createprocadd_manager
@manager_idvarchar(20),@manager_namevarchar(40)
as
begin
insertintomanagervalues(@manager_id,@manager_name)
if(@@rowcount>0)
return0
else
return1
end
5.4读者管理
createprocadd_reader
@reader_idvarchar(20),@reader_namevarchar(40),@reader_departvarchar(40),
@max_borrowint,@max_dateint
as
begin
insertintoreadervalues(@reader_id,@reader_name,@reader_depart,@max_borrow,@max_date,'可用')
if(@@rowcount>0)
return0
else
return1
end
5.5图书借阅
createprocbook_borrow
@book_idvarchar(30),@reader_idvarchar(20),@manager_idvarchar(20)
as
begin
declare@card_stchar(4)
declare@brdatedate
declare@countint
declare@overchar(4)
declare@book_stchar(6)
set@brdate=getdate()
set@card_st=(selectcard_stfromreaderwherereader_id=@reader_id)
set@count=(selectdbo.getcount(@reader_id))
set@over=(selectdbo.gettime(@reader_id))
set@book_st=(selectbook_stfromidwherebook_id=@book_id)
if(@count=9)
begin
set@card_st='禁用'
print'您已达到最大借阅量,不可再借阅!
'
end
if(@over='超期')
begin
set@card_st='禁用'
print'您有超期图书,不可借阅!
'
end
if(@book_st='不可借')
print'此图书已被其他人借阅,不可再借阅!
'
if(@card_st='可用'and@book_st='可借')
begin
insertintoborrowvalues(@book_id,@reader_id,@brdate,@manager_id,'借')
updateidsetbook_st='不可借'wherebook_id=@book_id
end
end
--判断所借书的数量是否超过最大的借书量--
createfunctiongetcount(@reader_idvarchar(20))
returnsintas
begin
declare@countint
set@count=(selectcount(book_id)fromborrowwherereader_id=@reader_idandst='借')
return@count
end
---判断是否有书超期--
createfunctiongettime(@reader_idvarchar(20))
returnschar
(2)as
begin
declare@overchar(4)
if(Dateadd("d",30,(selectmax(br_date)fromborrowwherereader_id=@reader_idandst='借')) set@over='超期' return@over end 5.6图书归还 createprocbook_return @book_idvarchar(30),@manager_idvarchar(20) as begin declare@brdatedate set@brdate=getdate() updateborrowsetbr_date=@brdate,st='还',manager_id=@manager_idwherebook_id=@book_id updateidsetbook_st='可借'wherebook_id=@book_id end 5.7借书证挂失 createproccard_lost @reader_idvarchar(20) as begin updatereadersetcard_st='禁用'wherereader_id=@reader_id end 5.8借书证恢复 createproccard_back @reader_idvarchar(20) as begin updatereadersetcard_st='可用'wherereader_id=@reader_id end 5.9按借阅证号查询借阅信息 createprocselect_book_borrow @reader_idvarchar(20) as begin declare@reader_namevarchar(40) declare@reader_departvarchar(40) declare@book_idvarchar(30) declare@book_namechar(30) declare@stchar (2) declare@br_datedate declare@manager_namevarchar(40) set@reader_name=(selectreader_namefromreaderwherereader_id=@reader_id) set@reader_depart=(selectreader_departfromreaderwherereader_id=@reader_id) declaredtcursor for selectborrow.book_id,book_name,st,br_date,manager_name frombookinfo,id,borrow,manager wherebookinfo.book_isbn=id.book_isbnandid.book_id=borrow.book_idandborrow.manager_id=manager.manager_id orderbybr_datedesc opendt print'输入: '+@reader_id print'输出: ' print''+'姓名: '+@reader_name+''+'单位: '+@reader_depart print'图书编号'+''+'书名'+''+'借/还'+''+'日期'+''+'经手人' print'---------------------------------------------------------------------------------------------' fetchnextfromdtinto@book_id,@book_name,@st,@br_date,@manager_name while@@fetch_status=0 begin print@book_id+''+@book_name+@st+''+convert(char(10),@br_date)+''+@ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书管理系统 数据库 图书 管理 系统 课程设计 说明书