数据库实习报告.docx
- 文档编号:9990391
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:20
- 大小:276.40KB
数据库实习报告.docx
《数据库实习报告.docx》由会员分享,可在线阅读,更多相关《数据库实习报告.docx(20页珍藏版)》请在冰豆网上搜索。
数据库实习报告
西安邮电大学
(计算机学院)
数据库课程设计报告
题目:
图书馆管理系统
专业名称:
软件工程
班级:
学生姓名:
学号(8位):
指导教师:
孟彩霞
起止时间:
2014年06月02日—2014年06月13日
一、课程设计目的
在数据库原理课程基础上,培养学生综合运用数据库及语言开发工具的能力。
学会数据库的设计、规划以及应用程序的开发和调试,使学生掌握客户机/服务器(C/S)或浏览器/服务器(B/S)体系结构,学会大型数据库的工作模式,并完成应用系统所要求的各项功能,应用程序的开发需要采用当前流行的新软件。
二、课程设计内容
自行设计并实现一个较为完整的数据库应用系统的设计与开发,锻炼学生综合运用数据库知识的能力,并掌握一种当前流行的软件开发工具。
1.数据库的设计
根据所选的题目,经过调查研究,构建合理的数据库。
首先构建基本表以及表和表之间的联系,在此基础上构建视图和索引表。
2.服务器的组织
根据建立的基本表、视图和索引表搭建服务器。
3.前端开发工具:
JAVA
等都是当前流行的前台开发工具,选择其中一种进行学习并完成编写程序。
服务器端:
SQLServer2005、
4.开发应用程序
利用所学的软件开发工具进行应用程序的开发。
5.连接、调试。
三、软硬件环境及系统所采用的体系结构
前台为Java.
后台数据库SQLServer。
系统的体系结构为:
C/S.
四·需求分析
1.对开发系统的功能。
本系统是一个图书管理系统。
本系统用户分为读者用户和管理员用户两类。
管理员用户负责系统的维护,包括对:
管理员信息,图书信息,读者信息,借阅信息的录入、修改、查询、删除等。
读者用户具:
有查询自己当前借书情况,和历史借阅情况和自己信息的查看和自己部分信息修改的权限。
同时本系统还具有公共的功能:
对所有使用该系统的所有用户都能进行的操作:
公共图书检索。
2.对系统性能的描述。
正确性,可靠性,效率性,完整性,
易使用性,可维护性,可测试行,复用性,
安全保密性,可理解性,可移植性。
3.系统将要实现的目标。
系统的开发主要目的是实现图书馆信息管理的系统化、规范化和自动化。
图书馆信息管理系统主要提供对图书信息的管理和读者信息的管理。
需要完成的主要功能有:
(1)有关读者信息的输入、修改和查询。
(2)图书信息的输入、修改和查询。
(3)管理员信息的输入,修改和查询。
(4)图书的借阅信息管理
(5)公共图书检索功能
五、系统设计
1.系统结构图(功能模块图)
(1)系统进行分析
a.图书信息管理:
图书信息的输入、修改和删除,书号、书名、作者、价格、出版社等。
管理员用户可以对图书信息修改、查询等功能,读者只有查询图书功能
b.读者信息管理:
读者编号、读者姓名、读者性别、已借图书数目等。
管理员可以对读者信息进行增加、查询等操作,读者只能对读者信息进行查询操作。
c.管理员信息管理:
管理员编号、姓名、密码等。
管理员对管理员信息的查询、修改等操作。
d.图书借阅管理:
读者编号、图书编号、借书日期、还书日期等。
管理员对借出的书籍、读者、借书时间、进行登记,而还书日期由系统根据图书的类型表中的可借天数自动的生成一个还书日期。
e.公共图书检索,可以根据多个图书信息进行检索。
(2)系统结构图,并对各个模块功能描述
1.读者登录:
输入读者的编号,以及读者的密码,就会进入读者界面,
如果密码和用户名不能对应,或者读者不存在,就会返回系统界面。
2.管理员登录:
输入管理员的编号,以及管理员的密码,就会进入读者界面,如果密码和用户名不能对应,或者管理员不存在,就会返回系统界面。
3.选择3就会进入公共的图书检索界面,使用系统的人都可以进入
4.选择0,就会退出该系统
5.输入异常就会返回该界面
1.读者登录
1.3读者历史借阅图书信息查看
1.2读者当前借阅图书信息查看
1.0退出读者系统
1.1读者基本信息查看
1.4读者信息修改
1.4.0返回读者登录界面
1.4.3读者备注修改
1.4.2读者电话修改
1.4.1读者密码修改
1.1.:
读者基本信息查看:
查看登录成功的读者的:
编号,姓名,性别,类型,单位,电话,备注
1.2:
读者当前借阅信息查看:
查看读者当前借阅图书的:
图书编号,书名作者,和到期时间。
如果没有信息就给出提醒
1.3:
读者历史借阅信息查看:
查看读者历史借阅图书(当前图书借阅的图书和已经归还的图书)的:
图书编号,书名作者,和到期时间。
如果没有信息就给出提醒
1.0:
退出读者系统:
返回到系统界面:
1.4:
读者信息修改:
修改当前登录读者的信息,需要选择要修改的相关信息项,如果输入异常就会让重新选择。
不论修改成功还是失败都会出现选择操作,选择返回修改界面还是读者登录界面。
1.4.1:
读者密码修改:
修改当前登录者的密码:
两次输入新的密码,如果两次密码输入新的密码相同修改成功,如果不相同重新输入。
1.4.2:
读者电话修改:
修改当前登录者的电话:
输入新的电话号码。
如果新的电话号码长与11位将修改失败。
1.4.3:
读者备注修改:
修改当前登录者的备注,输入新的备注内容。
1.4.0:
返回读者登录界面。
2.1管理员基本信息查看
2.2读者信息管理
2.3图书信息管理
2管理员登录
2.4管理员信息管理
2.5借还书信息管理
2.0返回系统界面
2.1管理员基本信息查看:
查看当前登录的管理员的基本信息包括:
管理员编号,姓名,性别,电话和办公地点。
2.2读者信息管理:
包括增加,删除,修改读者部分信息。
2.2.1增加读者信息:
要输入读者编号(如果编号存在,系统会给出提示要新的读者编号),输入密码(两次输入,如果不相同会给出提醒重新输入),输入姓名,性别,类型编号,单位,电话,备注。
如果其中有些信息不合理(如性别只能为男或女,等等)会增加失败。
2.2.2删除读者信息:
要输入要删除的读者编号,不论读者是否存在,都会删除成功,如输入读者编号输入不合理就会删除失败。
同时删除与该读者有关的借书记录,提醒删除成功。
2.2.3读者信息修改:
这里只能修改读者自己不能修改的信息,输入的修改后的信息必须符合相关要求,否则修改都会失败
2.2.3.1读者姓名修改:
先要输入要修改读者的编号,如过读者不存在会返回读者修改界面,否则就会给出修改成功
2.2.3.2读者性别修改:
先要输入要修改读者的编号,如过读者不存在会返回读者修改界面,否则就会给出修改成功
2.2.3.3读者类型修改:
先要输入要修改读者的编号,如过读者不存在会返回读者修改界面,否则就会给出修改成功
2.2.3.4读者单位修改:
先要输入要修改读者的编号,如过读者不存在会返回读者修改界面,否则就会给出修改成功
2.2.3.0返回读者信息管理界面:
不进行修改而返回
2.3图书信息管理:
包括增加,删除,修改图书信息。
2.3.1增加图书信息:
要输入图书编号(如果编号存在,系统会给出提示要新的读者编号),输入书名,作者,图书出版社,图书定价,图书的库存数量,图书所在库。
如果其中有些信息不合理(如图书的类型编号必须是图书类别表中存在的编号等)会增加失败。
2.3.2删除图书信息:
要输入要删除的图书编号,不论图书是否存在,都会删除成功,如输入读者编号输入不合理就会删除失败。
同时删除与该图书有关的借书记录,提醒删除成功。
2.3.3图书信息修改:
这里不能修改图书的编号,输入的修改后的信息必须符合相关要求,否则修改都会失败
2.3.3.1书名修改:
先要输入要修改图书的编号,如过图书不存在会返回图书修改界面,否则输入新的书名,就会给出修改成功
2.3.3.2图书类型修改:
先要输入要修改图书的编号,如过图书不存在会返回图书修改界面,否则输入新的类型编号,就会给出修改成功
2.3.3.3图书作者修改:
先要输入要修改图书的编号,如过图书不存在会返回图书修改界面,否则输入新的作者,就会给出修改成功
2.3.3.4图书出版社修改:
先要输入要修改图书的编号,如过图书不存在会返回图书修改界面,否则输入新的出版社,就会给出修改成功
2.3.3.5图书出定价修改:
先要输入要修改图书的编号,如过图书不存在会返回图书修改界面,否则输入新的定价,就会给出修改成功,
2.3.3.6图书库存数量修改:
先要输入要修改图书的编号,如过图书不存在会返回图书修改界面,否则输入新的库存数量,就会给出修改成功
2.3.3.7图书所在库修改:
先要输入要修改图书的编号,如过图书不存在会返回图书修改界面,否则输入新的图书库,就会给出修改成功
2.3.3.0返回图书信息管理界面:
不进行修改而返回
2.4管理员信息管理:
包括增加,删除,修改管理员信息。
2.4.1增加管理员信息:
要输入管理员编号(如果编号存在,系统会给出提示要新的读者编号),输入密码(两次输入,如果不相同会给出提醒重新输入),输入姓名,性别,电话,办公地点。
如果其中有些信息不合理(如性别只能为男或女,等等)会增加失败。
2.4.2删除管理员信息:
要输入要删除的管理员编号,如果输入管理员编号不存在会给出相关提醒,如果给出数据不合理,就无法删除,给出相关提醒。
2.4.3管理员信息修改:
输入的修改后的信息必须符合相关要求,否则修改都会失败。
2.4.3.1管理员编号修改:
先要输入要修改管理员的编号,如过读者不存在会返回管理员信息修改界面,否则输入新的管理员编号,同时会判断该编号是否已经存在,如果存在,需要重新输入,就会给出修改成功。
2.4.3.2管理员姓名修改:
先要输入要修改管理员的编号,如过管理员不存在会返回到管理员信息修改界面,否则,输入新的管理员姓名,就会给出修改成功。
2.4.3.3管理员密码修改:
先要输入要修改的管理员编号,如过管理员不存在会返回管理员信息修改界面,否则,两次输入新的密码如果两次输入密码一样就会给出修改成功,否则重新修改。
2.4.3.4管理员电话修改:
先要输入要修改管理员的编号,如过管理员不存在会返回管理员信息修改界面,否则输入新的电话号码,就会给出修改成功。
2.4.3.4管理员办公地点修改:
先要输入要修改管理员的编号,如过管理员不存在会返回管理员信息修改界面,否则输入新的电办公地点,就会给出修改成功。
2.4.3.0返回读者信息管理界面:
不进行修改而返回
2.5借还书信息管理:
包括借阅,归还,续借图书管理。
2.5借还书信息管理
2.5.0返回管理员登录界面
2.5.3图书续借管理
2.5.1图书借阅管理
2.5.2图书归还管理
2.5.1图书借阅管理:
增加图书借阅记录,输入读者编号,图书编号,借书日期,如果读者编号和图书编号,图书的库存数量大于0,借书日期格试正确都会借阅成功,否则借阅失败。
2.5.2图书归还管理;输入借阅图书的读者编号,图书编号,如果的确有该读者的这条借阅记录,就会归还成功,否则会归还失败。
2.5.3图书续借管理:
输入借借阅图书的读者编号,图书编号,以及续借日期
如果信息都正确,并且借阅记录都存在,就会续借成功,否则续借失败。
2.5.0返回管理员登录界面:
不进行任何操作返回
2.0返回系统界面:
返回到系统界面。
3公共图书检索,显示图书编号,书名,图书类型,出版社,所在库,库存数量,
被借次数,可借天数。
3.公共图书检索
3.5按照出版社和作者查询图书信息
3.1按照图书编号查询图书信息
3.2按照书名进行查询图书信息
3.0退出公共检索功能
3.4按照出版社查询图书信息
3.3按照作者查询图书信息
3.1按照图书编号查询:
输入图书编号,如果图书存在显示图书信息,否则提醒该图书不存在
3.2按照图书名称进行查询:
实现了模糊查询,只要输入的信息对应的书名中出现过,就显示图书信息,否则提醒该图书不存在
3.3按照作者查询:
输入图书的作者,显示与该作者相关的所有图书信息,否则提醒该图书不存在
3.4按照出版社查询:
输入图书的出版社,显示与该出版社相关的所有图书信息,,否则提醒该图书不存在
3.5按照作者和出版社查询:
输入作者和出版社,显示与该作者和出版社相关的所有图书信息,否则提醒该图书不存在
3.0退出公共检索:
什么都不做,返回到程序界面
2.数据库设计
画出E-R图
性别
类型
密码
姓名
单位
编号
电话
备注
读者
名称
编号
可借图书数目
读者类型
借阅次数
库存数量
定价
出版社
作者
类别
所在库
书名
编号
图书
名称
可借天数
编号
图书类型
办公地点
电话
性别
姓名
密码
编号
管理员
属于
图书类型
图书
n1
到期时间
管理
n
还
Nmm
借
管理员
时间
借书时间
m
管理
N
Nn
属于
读者
读者类型
NM
逻辑模式的设计
带下划线的为主键,带波浪线的为外键
管理员(编号,密码,姓名,性别,电话,办公地点)
读者(编号,密码,姓名,性别,类型编号,单位,电话,备注)
读者类型(编号,名称,可借图书数量)
图书(编号,名称,类别编号,作者,出版社,定价,库存数量,所在库,被借次数)
图书类别(编号,名称,可借天数)
借阅(读者编号,图书编号,借书日期,到期时间,是否归还)
归还(读者编号,图书编号,还书日期)
最后设计合理的表。
(1)读者表
(2)读者类别表
(3)管理员表
(4)归还表
(5)借阅表
(6)图书表
(7)图书类别表
六、系统的实施
1.系统的实现方法。
系统采用分块,逐步实现,先将系统分解为一个一个小功能块,再将每个功能块进行分解,完成每个模块的功能,最后将每个模块的功能都集合起来形成完整的系统。
2.应用程序的编制方法。
采用JAVA中包的思想,进行分装,整合。
3.重要代码的说明。
CREATETRIGGERaddBON借阅表
AFTERINSERT
AS
UPDATE图书表
SET库存数量=库存数量-1,被借次数=被借次数+1
WHEREB编号IN(SELECT图书编号FROMinserted)
说明:
在借阅表上见了addB触发器,当向借阅表中增加一条信息时,该图书的库存数量-1,借阅次数+1;
CREATETRIGGER修改还书日期ON借阅表
AFTERINSERT,UPDATE
AS
UPDATE借阅表
SET到期时间=DATEADD(dd,(SELECT可借天数FROM图书_图书类别WHEREB编号IN(SELECT图书编号FROMinserted)),(SELECT借书期FROMinsertedWHERE图书编号IN(SELECT图书编号FROMinserted)))
WHERE图书编号IN(SELECT图书编号FROMinserted);
说明:
在借阅表上建立触发器“修改还书日期”,当向借阅表中增加条信息根据该图书的类别类型中的可借天数自动修改图的到期时间,在续借的时候同样输入借书日期,自动修改图书的到期时间。
CREATETRIGGER归还表BaddON归还表
AFTERINSERT
AS
DELETEFROM借阅表
WHERE读者编号=(SELECT读者编号
FROMinserted)
说明:
在归还表上建立触发器“归还表Badd”,当增加一条归还信息时删除对应的借阅信息
CREATETRIGGERaddRturnON归还表
AFTERINSERT
AS
UPDATE图书表
SET库存数量=库存数量+1
WHEREB编号IN(SELECT图书编号FROMinserted)
说明:
在归还表上建立触发器“addRturn”,当增加一个归还信息时,该图书的库存数量+1
ALTERPROC图书图书类别
@timeINTOUTPUT,
@numbervarchar(9)
AS
SELECT@time=可借天数
FROM图书表,图书类别表
WHERE图书表.B类别=图书类别表.类别编号ANDB编号=@number
说明.建立存储过程,返回图书的可借天数,用来判断图书是否可借
ALTERVIEW[dbo].[图书_图书类别]
AS
SELECTdbo.图书表.B编号,dbo.图书表.B书名,dbo.图书类别表.名称,dbo.图书表.作者,dbo.图书表.出版社,dbo.图书表.库存数量,dbo.图书表.所在库,dbo.图书表.被借次数,dbo.图书类别表.可借天数
FROMdbo.图书表INNERJOIN
dbo.图书类别表ONdbo.图书表.B类别=dbo.图书类别表.类别编号
说明:
建立视图,讲图书表中的图书类型编号,换成图书类型名称,方便显示给查询图书信息的用户。
七、系统评价及心得体会
1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。
合理之处:
对于逻辑模型的设计还算可以,得到较好的表,基本实现了图书管应有的功能。
不合理之处:
对于读者和图书的编号不能做出修改,还有图书,读者的类别表正能由数据库系统开发者进行修改,对于借书系统,不能由读者自己完成,还需要管理员进行操作。
对于借书时候的日期不能系统生成要进行人工的录入。
改进方案
继续完善有关上述不合理之处,尽量试软件能够人性化。
2、在学习过程中的感受。
通过这次课程设计,我深刻的体会到了,当我们在调试过程中遇到了错误时,必须认真的分析,找出错误的原因,在自己实在无法解决的时候,学会向老师,向同学请教,解决我们遇到的问题。
我感受最深的是在程序设计的时候,要按照软件工程的方法进行分析,设计,这样才更有利于程序的开发。
八、参考文献
《Java核心技术》-第7版
《数据库系统概论》-王珊编第四版
《SQLServer数据库应用技术》张水平编
《软件工程》-李代平编第二版
《JavaAPI文档》电子版等
[1]丁新民.《Java程序设计教程》[M].北京:
人民邮电出版社.2006.
[2]陈明.《JAVA学教程》科技出版社2002-3
[3]飞思科技产品研发中心.《JAVA应用开发》电子工业出版社2003-5
[4]方力钧.《JAVA高手突破》清华大学出版社2002-08
九、附录:
源代码
(略,详见电子版实验报告)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实习 报告