《图书馆管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统数据库课程设计.docx(27页珍藏版)》请在优知文库上搜索。
1、期由2孽虎数据库原理课程设计说明书图书馆管理系统院、部:计算机与信息科学学院学生姓名:专业:班级:完成时间:1需求分析11.1 任务概述1I .1.1目标1II .2用户特点11.2 需求规定1对功能的规定11.2.2对性能的规定21.2.3 运行环境的规定2124用例模型图213系统功能设计图22数据库的概念结构设计43数据库的逻辑结构设计64数据库的物理结构设计75系统的设计与实现85.1 数据库的实施85.2 数据库的连接106功能测试146.1 测试内容146.2 登录测试146.3 图书信息管理测试167课程设计总结21参考文献22附录1数据库原理课程设计任务书23附录2数据库原理课
2、程设计成绩评定表251需求分析1.1 任务概述1.1.1 目标系统面向中小型图书馆,用户群体为图书馆管理员。a.能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除;b.能够进行借阅历史的查询功能;1.1.2 用户特点用户可以使用装有windows操作系统的电脑的基本功能,并会使用数据库创表。1.2 需求规定1.2.1 对功能的规定(1)能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除。(2)能够实现对读者档案的查询和编辑管理。(3)能够进行借阅历史的查询功能具体为:密码设置:登录系统后进行操作。资料维护:为了存放图书、读者案的全部数据,本系统将每一本图书和每位读者的信
3、息进行管理。系统维护包括对各种表记录的修改、删除、添加等操作。系统查询:可以按图书编号、借阅证编号等相关信息进行查询。系统管理:进行会员管理、数据备份等。报表统计:包括统计图书信息、读者信息、借阅信息和罚款信息等。其它操作:包括修改密码、添加用户、页面设置等。1.2.2 对性能的规定系统安全、可靠、功能齐全、操作方便、界面友好、易于维护和扩充。1.2.3 运行环境的规定环境:兼容当前主流操作系统Windows10/87XPvista等。1.2.4 用例模型图OO查询读者信息=.1F查询用书信息O:O:O添加.信室O./修改读者信息c5删除读者信息L j查询借阅信息管理员困书信息管理.、添加图书
4、信息-删除图书信息憎阅信息管理.AOJ J修改图书信息删除借阅信息添加借阅信息图书管理系统用例模型图13系统功能设计图图书管理系统选择三层体系结构来实现。如图所示。系统由5个节点组成,应用服务器负责整个系统的运行总体协调工作,数据库服务器负责数据库的管理。业务管理、查询管理以及维护管理分管各个模块的内容。读者管理图书管理系统P借阅信息管理一图书管理,修改读者信鼠查询读者信息删除读者信鼠添加读者信价查询借阅信息删除借阅信短添加借阅信息添加图书信翁修改图书信辟修改图书信二删除图书信息图2功能模块图图书管理系统主要实现图书的借阅,有两个主要实体,图书和读者。此系统中为员工信息涉及一个名为dbjibr
5、ary的数据库,数据库中包含图3系统总E-R图管理员,田向史)亲矽二)图4图书实体E-R图图5读者实体E-R图3数据库的逻辑结构设计图书信息表(图书编号,图书名称,IBSN号,图书出版时间,作者)顾客表(读者编号,读者名称,系别,班级)借阅表(借阅编号,图书编号,借出日期,归还日期,读者编号)管理员表(管理员编号,用户名,密码)表1admin管理员表表中列名数据类型可否为空说明idintnotnull(主键)管理员编号Adminjiamevarchar(20)notnull管理员姓名Admin_pwdvarchar(20)notnull登录密码表2reader读者表表中列名数据类型可否为空说明
6、r_idintnotnull(主键)读者编号r_namevarchar(20)notnull读者姓名r_mailvarchar(30)notnull读者学院r_addrvarchar(50)notnull读者班级表3book图书表表中列名数据类型可否为空说明idintnotnull(主键)图书编号b_idvarchar(20)notnull图书号b_namevarchar(50)notnull图书名称b_authorvarchar(20)图书作者b_introvarchar(300)图书简介b_outvarchar(20)图书出版时间表4rb借阅表表中列名数据类型可否为空说明rb_idintn
7、otnull(主键)借阅编号r_idintnotnull读者编号b_idvarchar(20)notnull图书编号b_outvarchar(20)notnull借阅时间b_invarchar(20)notnull返还时间5系统的设计与实现5.1 数据库的实施开启MYSERVER服务,打开SQLSERVER,并登陆。建立数据脚本,并在运行脚本。数据脚本如下:createdatabasedbjibraryname=dbJibrary_dat,filename=,dAdatadbJibrary.mdfsize=5,maxsize=5zfilegrowth=l)logon(name=dbjibrar
8、yjog,filename=,dAdatadbJibrary.ldf,zsize=5zmaxsize=5,filegrowth=l)usedbjibrary- -管理员表createtableadminidintidentity(l,l)primarykey,-管理员编号admin_namevarchar(20)notnull,-管理员名称admin_pwdvarchar(20)notnull-管理员密码)- 读者表createtablereader(r_idintidentity(l,l)primarykey,-读者编号r_namevarchar(20)notnull,读者名称r_mailv
9、archar(30)notnull,-读者学院r_addrvarchar(50)notnull一读者班级)- 图书表createtablebook(idintidentity(l,l)primarykey,-图书编号-图书号-图书名称-图书作者-图书简介-图书出版时间b_idvarchar(20)uniquenotnull,b_namevarchar(50)notnullzb_authorvarchar(20)zbJntrovarchar(300)zb_outvarchar(20)- 借阅表createtablerbrbjdintidentity(l,l)primarykey,一借阅编号r_i
10、dintforeignkeyreferencesreader(rjd)notnull,读者编号b_idvarchar(20)foreignkeyreferencesbook(bjd)notnull,-借阅的图书号b_outvarchar(20)notnull,-借阅-返还时间时间b_invarchar(20)notnull-数据添加insertintoadminvalues(a,a);insertintoreadervalues(zxy,计算机与信息科学学院,网络1301);insertintoreadervalues(lyh,计算机与信息科学学院网络1301);insertintoreade
11、rvalues(,kyl,计算机与信息科学学院,网络1301);insertintoreadervalues(dj计算机与信息科学学院网络130);insertintobookvalues(,bl001美食天下,zzz做尽天下美食2015-12-15,)insertintobookValUeS(bl002),旅游攻略xxx玩转天下7201512-15)insertintobookValUeS(,b:IOo3,新闻当事人,yyy。不出门便知天下事2015-12-15,)5.2 数据库的连接主要连接代码实现:publicclassDBConnectionManagerprivateStringdr
12、iverName=com.microsoft.sqlserver.jdbc.SQLServerDriver;privateStringurl=jdbc:sqlserver:/localhost:1433;DatabaseName=dbJibrary;privateStringuser=,sa;privateStringpassword=a;publicStringgetDriverName()returndriverName;)publicvoidsetDriverName(StringdriverName)this.driverName=driverName;)publicStringget
13、Url()returnurl;)publicvoidsetUrl(Stringurl)this.url=url;)publicStringgetUser()returnuser;)publicvoidsetUser(Stringuser)this.user=user;)publicStringgetPassword()returnpassword;)publicvoidsetPassword(Stringpassword)this.password=password;)publicConnectiongetConn()tryClass.forName(driverName);returnDriverManager.getConnection(url,user,password);catch(Exceptione)SyStem.out.print”连接数据库失败!);e.printStackTrace();returnnull;)publicclassDBSQLManagerprotectedConnectioncon=null;protectedStatementstmt=null;protectedResuItSetrs=null;publicDBSQLManager()try(DBConnectionManagerdbcm