数据库《图书管理系统》课程设计说明书Word格式文档下载.docx
- 文档编号:22079074
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:16
- 大小:198.63KB
数据库《图书管理系统》课程设计说明书Word格式文档下载.docx
《数据库《图书管理系统》课程设计说明书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库《图书管理系统》课程设计说明书Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
Database;
Booksmanagementsystemmanagementsystem
指导教师评语:
成绩:
指导教师(签字):
年月日
一、设计任务
1.1设计题目
图书管理系统
1.2设计内容
某单位图书馆要开发一个图书管理系统。
图书信息包括:
图书编号、ISBN号、图书名称、图书类别、作者、出版社、出版日期,单价,册数。
为方便管理图书借阅,对于每册图书增加图书条码号和本册图书是否可借及结出状态标识。
图书馆设多名管理人员负责借/还图书服务。
该单位要求每名工作人员须办理图书证才能借阅图书,并规定图书可借数量。
在设计时应考虑借书证挂失和恢复功能,挂失的书证暂时不能借书;
图书的借阅时间期限应明确的规定,对于尚有超过期限的借阅人应该暂时停止借阅。
在设计时应充分考虑图书条码号、图书编号及图书证号的编码规则及图书分类方法。
对于图书的借阅要有详细的明细记录。
1.3功能要求
a.新书信息录入(同时对每册图书产生相应的条码)(存储过程完成,返回0,成功,1失败)。
b.图书管理人员录入。
(存储过程完成,返回0,成功,1失败)。
c.员工书证办理。
d.图书借阅。
(存储过程完成)。
f.图书归还。
(存储过程完成)
g.书证挂失。
存储过程完成,返回0,成功,1失败)。
h.书证恢复。
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
借阅者
姓名
40
单位
最大借阅量
int
最长借阅时间
管理员编号
管理员
管理员姓名
图书编号
30
借阅
借还日期
date
状态
char
2
ISBN号
17
图书信息
名称
作者
6
出版社
15
日期
单价
money
编号
类别
册数
四、系统设计
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)
begin
insertintomanagervalues(@manager_id,@manager_name)
if(@@rowcount>
0)
return0
else
return1
5.4读者管理
createprocadd_reader
@reader_idvarchar(20),@reader_namevarchar(40),@reader_departvarchar(40),
@max_borrowint,@max_dateint
insertintoreadervalues(@reader_id,@reader_name,@reader_depart,@max_borrow,@max_date,'
5.5图书借阅
createprocbook_borrow
@book_idvarchar(30),@reader_idvarchar(20),@manager_idvarchar(20)
as
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
您有超期图书,不可借阅!
if(@book_st='
此图书已被其他人借阅,不可再借阅!
if(@card_st='
and@book_st='
insertintoborrowvalues(@book_id,@reader_id,@brdate,@manager_id,'
updateidsetbook_st='
wherebook_id=@book_id
end
--判断所借书的数量是否超过最大的借书量--
createfunctiongetcount(@reader_idvarchar(20))
returnsintas
set@count=(selectcount(book_id)fromborrowwherereader_id=@reader_idandst='
return@count
---判断是否有书超期--
createfunctiongettime(@reader_idvarchar(20))
returnschar
(2)as
if(Dateadd("
d"
30,(selectmax(br_date)fromborrowwherereader_id=@reader_idandst='
))<
getdate())
set@over='
return@over
end
5.6图书归还
createprocbook_return
@book_idvarchar(30),@manager_idvarchar(20)
set@brdate=getdate()
updateborrowsetbr_date=@brdate,st='
manager_id=@manager_idwherebook_id=@book_id
5.7借书证挂失
createproccard_lost
@reader_idvarchar(20)
updatereadersetcard_st='
wherereader_id=@reader_id
5.8借书证恢复
createproccard_back
5.9按借阅证号查询借阅信息
createprocselect_book_borrow
@reader_idvarchar(20)
as
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
输出:
'
+'
姓名:
+@reader_name+'
单位:
+@reader_depart
图书编号'
书名'
借/还'
日期'
经手人'
---------------------------------------------------------------------------------------------'
fetchnextfromdtinto@book_id,@book_name,@st,@br_date,@manager_name
while@@fetch_status=0
print@book_id+'
+@book_name+@st+'
+convert(char(10),@br_date)+'
+@manager_name
closedt
deallocatedt
5.10通过图书编号查询借阅信息
createprocselect_book_borrow_book_id
@book_idvarchar(30)
declare@reader_idvarchar(20)
declare@reader_namevarchar(40)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书管理系统 数据库 图书 管理 系统 课程设计 说明书