班级图书管理系统数据库设计Word格式文档下载.docx
- 文档编号:14926289
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:14
- 大小:60.96KB
班级图书管理系统数据库设计Word格式文档下载.docx
《班级图书管理系统数据库设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《班级图书管理系统数据库设计Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
欠款金额
借书数目
借阅人
续借次数
图书
捐赠人
是否可借
电话
破损情况
捐赠日期
应还日期
借阅日期
遗失情况
类别
编号
管理员
欠款状态
实际归还时间
续借状态
借阅
联系电话
管理
捐赠
三、逻辑结构设计
学生(学号,姓名,电话,)
图书(编号,名称,类别,破损情况)
借书表(书号,借阅者学号,借阅时间,应还日期,是否续借,欠款状态,实际还书时间)
捐书表(捐书人学号,书编号,捐书时间)
注:
红色部分为修改部分
四、物理结构设计
数据库名:
BOOK
数据库物理文件初始大小:
20MB
是否允许自动增长:
是
自动增长方式:
每次增加10%
最大数据容量:
不受限
是否自动收缩:
是否是只读数据库:
否
事务日志文件位置:
e:
\data
事务日志文件初始大小:
2MB
事务日志文件最大数据容量:
30MB
创建如下数据表:
学生表结构
表名
Student
作用
记录学生信息
列名
数据类型
长度
是否允许为空
字段说明
SName
varchar
50
学生姓名
SNumber
11
主键,学号
SP
图书表结构
Book
记录书籍信息
BNumber
15
主键,书籍编号
BName
varchar
书名
BKind
100
书籍类别
Situation
200
SFKJ
Bit
1
是否可借(1为可借,0为不可借)
借书表
Borrow
储存书籍借阅信息
BNo
外键,引用Book表中的主键BNumber,BNo和SNo共同作为主键
SNo
外键,引用Student表中的主键SNumber
BTime
Datetime
8
借阅日期,
YHRQ
debt
float
4
逾期不还,以每天0.1元计费,欠款为1,不欠款为0欠款金额(欠款为1否则为0)
XJ
SJSJ
datetime
实际还书时间
捐书表
Juanshu
存储捐书信息
JSNo
外键,引用Student表中的主键s_number
JBNo
外键,引用Book表中的主键BNumber,JSNo和JBNo
共同作为主键
JTime
捐书时间,捐出的书自捐赠日起三个月内不准取回;
1.视图
a.视图名称:
借书信息;
显示:
书编号,书籍名,借书人学号,借书人姓名。
(选择字段,重命名列名,连接查询)
createview借书信息
as
selectBNumberas'
书编号'
BNameas'
书籍名'
SNoas'
借书人学号'
SNameas'
借书人姓名'
fromBorrowinnerjoinBook
onBNo=BNumberinnerjoinStudent
onSNo=SNumber
b.视图名称:
捐书信息;
书编号,书籍名,捐书人学号,捐书人姓名,捐赠天数
CREATEview捐书信息
selectJBNoas'
BNameas'
JSNoas'
捐书人学号'
SNameas'
捐书人姓名'
'
捐赠天数'
=Datediff(day,JTime,getdate())
fromJuanshuinnerjoinBook
onJBNo=BNumberinnerjoinStudent
onJSNo=SNumber
c.视图名称:
没有借出的书;
书编号,书籍名,未借出,即未借出的书列表(条件查询)
createview没有借出的书籍
BNameas'
SFKJas'
未借出'
fromBook
wherestate='
1'
d.视图名称:
已被借出的书;
书编号,书籍名,被借出,即已借出书籍列表(条件查询)
createview已被借出的书
BNameas'
SFKJas'
已借出'
whereSFKJ='
0'
e.视图名称:
捐书最多者;
显示:
学号,姓名,捐书总量(top关键字,分组,排序)
createview捐书最多者
selecttop1JSNoas'
学号'
SNameas'
姓名'
count(JSNo)as'
捐书总量'
fromJuanshuinnerjoinStudent
onJSNo=SNumber
groupbyJSNo,SName
orderbycount(JSNo)desc
f.视图名称:
是否更换新书;
书籍名,完好的书(模糊查询)
CREATEview是否更换新书
selectBNumberas'
BNameas'
Situationas'
破损情况'
whereSituationlike'
完好'
2.存储过程:
a.创建一个名为借阅情况的存储过程,实现输入书编号,查询该书籍的借阅情况。
(书名,是否可借,借书人姓名,借书时间,应归还时间,实际归还时间)
createproc借阅情况
@jyaschar(11)
begin
selectBNameas'
书名'
SFKJas'
是否可借'
SNameas'
BTimeas'
借书时间'
YHRQas'
应归还时间'
SJSJas'
实际归还时间'
onBno=BNumber
innerjoinStudent
onSNo=SNumber
where@jy=BNumber
end
GO
执行该存储过程:
execshujxinx'
19'
b.创建一个名为捐书人的存储过程,输入书编号,查询该书的捐书者,捐书时间。
createproc捐书人
@xsaschar(11)
selectJSNoas'
捐书人'
书籍名称'
Jtimeas'
捐书时间'
fromStudentinnerjoinJuanshu
onSNumber=JSNo
where@xs=JBNo
end
exec捐书人'
3'
执行结果:
c.创建一个名为xsjies的存储过程,输入学号,查询该学生的借阅信息。
createprocxsjies
@xhaschar(11)
selectjs_BIDas'
借书编号'
b_nameas'
js_timeas'
js_returntimeas'
js_xujieas'
是否续借'
js_qiankuanas'
欠款状态'
fromJieshuinnerjoinBook
onjs_BID=BIDinnerjoinStudent
onjs_num=s_number
where@xh=s_number
end
execxsjies'
20101101234'
3.触发器:
a.(级联删除)在Student上创建一个名为studelete的触发器,实现的功能,当在Student表中删除一条记录后,在Juanshu表和Jieshu表中删除与此学号对应的记录。
CREATEtriggerstudelete
onStudent
insteadofdelete
declare@xhaschar(11)
select@xh=s_numberfromdeleted
print'
开始查找并删除了Student表中的记录!
deletefromJuanshu
where@xh=jus_num
删除了Juanshu表中学号为:
+rtrim(@xh)+'
的记录'
deletefromJie
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 班级 图书 管理 系统 数据库 设计