学校图书借阅管理系统数据库设计文档格式.docx
- 文档编号:4693115
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:13
- 大小:71.46KB
学校图书借阅管理系统数据库设计文档格式.docx
《学校图书借阅管理系统数据库设计文档格式.docx》由会员分享,可在线阅读,更多相关《学校图书借阅管理系统数据库设计文档格式.docx(13页珍藏版)》请在冰点文库上搜索。
关系模式...........................................................................................................................7
二、存储过程...................................................................................................................................7
三、触发器.......................................................................................................................................9
四、视图脚本.................................................................................................................................12
五、数据库恢复与备份.................................................................................................................12
数据库设计说明书
一、结构设计
1、逻辑结构设计
(1)总体
E-R
图如图
1
图
读者
2
3
权限设置
4
5
6
2、关系图
关系图如图
7
属性名
类型
备注
说明
borrowid
int
主键(自增)
id
bookid
Varchar(10)
不允许空
书号
readerid
读者号
managerid
管理员号
borrowTime
Smalldatetime
借书时间
backTime
允许空
(backTime>
=borrowtime)
还书时间
ifreborrow
tinyint
不允许空(1
or
0)
是否续借
主键
rname
Varchar(20)
姓名
sex
Varchar
(2)
不允许空(‘男’
or’
女’)
性别
grade
Varchar
(1)
年级
Profession
专业
ifeffective
of
是否有效
邮箱
管理员
loginnane
登录名
password
密码
3、物理结构设计
属性名类型备注说明
bname
书名
type
author
作者
price
float
价格
publish
出版社
quantity
Tinyint
总数
remain
(remain<
=quantity)
剩余
systemset
系统设置权限
readerset
读者权限
bookset
图书管理权限
borrowback
图书借还权限
systemquery
系统查询权限
punishmentid
days
smallint
超期天数
bmoney
罚款金额
Tb_reader(readerid,rname,sex,grade,profession,email,ifeffective)
Tb_borrow(borrowid,readerid,bookid,managerid,borrowTime,backTime,
ifreborrow)
Tb_manager(managerid,loginname,password)
Tb_book(bookid,bname,type,author,publish,price,quantity,remain)
Tb_punishment(punishmentid,readerid,bookid,days,bmoney)
Tb_purview(managerid,systemset,readerset,bookset,borrowback,syste
mquery)
二、存储过程
创建存储过程,输入读者
id
查询出书名、借阅时间、归还时间、管理员
id、
是否续借情况
create
procedure
p
@readerid_in
varchar(10),
@bookid_in
@bname_out
varchar(20)
output,
@borrowTime_out
datetime
@backTime_out
@managerid_out
varchar(10)
@ifreborrow_out
tinyint
output
as
select
@bname_out=bname,@borrowTime_out=borrowTime,@backTime_out
=backTime,@managerid_out=managerid,@ifreborrow_out=ifrebo
rrow
from
tb_book,tb_borrow
where
tb_borrow.readerid=@readerid_in
and
tb_borrow.bookid=@bookid_in
tb_book.bookid=tb_borrow.bookid
存储过程使用
declare
varchar(20),
datetime,
select
@readerid_in='
2010508033'
@bookid_in='
005'
exec
p
@readerid_in,@bookid_in,@bname_out
output,@borrowTime_out
output,@backTime_out
output,@managerid_out
output,@ifreborrow_out
'
书名:
+@bname_out
借书时间:
+rtrim(@borrowTime_out)
还书时间:
+rtrim(@backTime_out)
管理员编号:
+@managerid_out
是否续借:
+rtrim(@ifreborrow_out)
三、触发器
1、借书触发器,当借书时,图书表中的
remain(剩余图书)自动减一。
trigger
t_borrow
on
tb_borrow
for
insert
@bookid_read
varchar(10)
@bookid_read=bookid
inserted
begin
update
tb_book
set
remain=remain-1
where
bookid=@bookid_read
End
2、还书触发器,当还书时,图书表中的
remain
自动加一。
t_back
update
as
if
update(backTime)
remain=remain+1
3、罚款触发器,当借阅图书超期时,自动在
punishment
表中添加罚款记录,
记录罚款读者、书名、天数、金额,并且自动将
reader
表中的
ifeffective
置
为
0,是该读者不能再借书。
t_punish
@backTime
@borrowTime
@ifreborrow
tinyint,
@days
int,
@days1
@bmoney
@readerid
@bookid
@backTime=backTime
@borrowTime=borrowTime
@ifreborrow=ifreborrow
@days=convert(int,@backTime)-
convert(int,@borrowTime)
@readerid=readerid
@bookid=bookid
@days>
30
@ifreborrow=1
60
@days1=@days-60
@bmoney=@days1*0.1
insert
into
tb_punishment(readerid,bookid,days,bmoney)
values(@readerid,@bookid,@days1,@bmoney)
tb_reader
ifeffective=0
readerid=@readerid
end
@ifreborrow=0
@days1=@days-30
4、读者是否有效触发器,当读者借书时,检查
属
性,若为
0
则说明有超期罚款,不能借书。
t_ifcanborrow
@ifeffective
@ifeffective=ifeffective
@ifeffective=0
您有超期罚款!
rollback
transaction
四、视图脚本
1、创建视图查询各种图书的书号、书名、总数和在册数。
view
view_query
bookid,bname,quantity,remain
tb_book
2、创建视图查询读者的超期罚款情况,其中包括读者号,读者姓名,罚款书名,
罚款金额。
view_reader
tb_punishment.readerid,rname,bname,bmoney
from
tb_punishment,tb_book,tb_reader
tb_punishment.bookid=tb_book.bookid
tb_punishment.readerid=tb_reader.readerid
五、数据库恢复与备份
数据库的完全备份
use
db_library
go
backup
database
todisk='
H:
\LibarySystem\backup\f_db_library'
with
init
Go
数据库的恢复
数据库差异备份
to
disk='
\LibarySystem\backup\d_db_library'
differential
master
restore
norecovery
replace
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学校 图书 借阅 管理 系统 数据库 设计