SQL图书管理系统.docx
《SQL图书管理系统.docx》由会员分享,可在线阅读,更多相关《SQL图书管理系统.docx(19页珍藏版)》请在冰豆网上搜索。
![SQL图书管理系统.docx](https://file1.bdocx.com/fileroot1/2023-8/3/7925e680-2b1d-4c4e-bc33-8aa8b7e8fbc4/7925e680-2b1d-4c4e-bc33-8aa8b7e8fbc41.gif)
SQL图书管理系统
《SQLsever数据库设计实训》报告
题目:
图书管理系统
第1章课程设计目的与要求
1.1设计目的
(1)、掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;
(2)掌握关系数据库的设计方法;(3)掌握SQLServer2000技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。
1.2设计环境
1.3主要参考资料
1.《管理信息系统》黄梯云高等教育出版社
2.《数据库系统概论》萨师煊高等教育出版社
3.《SQLServer2000数据库应用系统开发技术》朱如龙编,机械工业出版社。
4.《SQLServer2000数据库应用系统开发技术实验指导》朱如龙编,机械工业出版社
1.4设计内容及要求
一、内容
1.要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规范,完成各阶段的设计内容。
2.需求分析具体实际,数据流图、数据字典、关系模型要正确规范
3.在sqlserver2000上实现设计的数据库模型。
4.对应用程序进行概要设计。
5.用VB实现简单的应用程序编写。
二、要求
设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出课程设计报告。
第2章课程设计内容
2.1数据库设计
2.1.1需求分析
当今迅速发展的信息时代,各行各业中离不开信息处理,正是计算机被广泛应用于信息管理系统的环境。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性,尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了更好的管理图书馆信息而设计的。
图书的分类,记录,读者借阅以及归还得情况统计起来总是很麻烦,为图书馆的管理人员带来了很大的烦恼。
经过详细的调查,弄清了系统现行的业务流程。
通过分析和抽象后,作图表示。
图2.1是图书馆管理系统的业务流程图。
图2.1图书馆管理系统业务流程图
图书馆管理系统零层数据流程图。
见图2.2。
图2.2零层数据流程图图
图书馆管理系统一层数据流程图,如图2.3所示。
图2.3一层数据流程图图
2.1.2概念设计
概念设计阶段,是整个数据库设计的关键。
通过对用户需求进行综合、归纳与抽象,形成一个独立与具体DBMS的概念模型。
在这个阶段中,我们从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。
然后再把概念模式转换成逻辑模式。
数据库概念结构设计是数据库应用程序开发一个非常关键的环节,通常采用的方法是实体-关系图进行设计,它能将用户的数据要求明确地表达出来。
经过分析,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备、易使用等特点。
故本系统采用编程语言VisualBasic6.0作为前台,SQLServer2000作为后台操作数据库来实现系统运行。
在使用此图书管理系统后,可以提高图书信息的准确性,将信息准确无误地输入计算机并在数据库中存储起来。
按照规范设定标准代码,大大保证了统计原始数据的准确性,在进行分析设计时可以最大限度地减少人为影响,大大提高工作效率。
在开发过程中,从设计到开发我们采用了SQLSERVER2000数据库,使得本系统可以方便的和其他子系统进行数据交换。
模块包括读者类别设置,读者档案管理。
可以实现读者资料的分条浏览,添加,修改,删除,查询和打印功能。
单击“命令按钮工具栏”中的按钮可以对页框中的记录进行相应的操作。
能够对一定数量的读者进行相应的信息存储与管理,这其中包括:
读者类别,借阅权限等设置;读者档案的登记、删除及修改等。
图书类别设置,图书档案管理。
在表单的“书籍资料”页框中可以通过“移动记录工具栏”分条查看系统内所有的图书的详细资料,包括图书的名称,类别,作者,出版社等。
单击“命令按钮工具栏”中的按钮可以对“书籍资料”页框中的记录进行相应的操作。
图书征订,图书借阅,读者借书记录查看功能可以查看所有的借书记录,也可以只查看目前尚未归还的借书记录。
在“读者借书记录”表单中单击“借书”按钮,在打开的“输入”表单中,输入要借出的图书的图书编号,如果该图书是在馆中而且该读者还能借书,则借书成功 。
当表单中显示的是读者未归还的图书列表时,在列出借书记录的表格中双击要归还的图书的“图书编号”栏即可将此书还入。
2.1.3逻辑设计
逻辑设计阶段,将概念结构转换为某个DBMS所支持的数据模型,对其进行优化。
将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。
我们可以利用E-R方法进行数据库的概念设计,首先设计局部E-R模式,然后把各局部E-R模式综合成全局模式,最后对全局模式的优化,得到最终的模式。
E-R图为实体—联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
构成E-R图的基本要素是实体型、属性和联系。
以下是关于部分图书馆表的E-R图。
,详细介绍了各个实体属性的关系。
(1)图书馆的属性为名称,馆长,负责人,地址,说明,备注电话。
如下图图2.4图书馆E-R图所示。
图2.4图书馆E-R图
(2)图书罚款的属性为读者编号,罚款编号,图书编号,备注,是否交款,实收金额,应罚金额,罚款日期。
如下图图2.5图书罚款E-R图所示。
图2.5图书罚款E-R图
(3)读者类型的属性为类型,图书册书等。
如下图图2.6读者类型E-R图所示。
图2.6读者类型E-R图
(4)管理员的属性为编号,名称等。
如下图图2.7管理员E-R图所示。
图2.7管理员E-R图
(5)读者信息的属性为编号,姓名,性别,出生日期,图书借阅次数。
如下图图2.8读者信息E-R图所示。
图2.8读者信息E-R图
所有局部E-R模式都设计好了后,接下来就是把它们综合成局概念结构。
全局概念结构不仅要支持所有局部E-R模式,而且必须合理地表示一个完整、一致的数据库概念结构。
步骤:
(1)确定公共实体类型;
(2)局部E-R模式的合并;(3)消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。
(4)全局E-R模式的优化。
本系统全局E-R图中所体现的关系有很多,例如:
一个读者可借阅、归还或查询多本不同的书,而一本书也被多个用户借阅、归还和查询;一个管理员可增加、删除多本图书,一本图书只能被一个操作员增加或删除;一个用户只能具有一种身份,而一种身份可被多个用户所具有;一本图书只能属于一种图书类别,而一种图书类别可以包含多本图书等。
如下图图2.9图书管理系统E-R图所示。
图2.9图书管理系统E-R图
2.1.4物理设计
物理设计阶段,为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
这个阶段的任务是根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。
一个好的全局E-R模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:
实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。
所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。
冗余数据和冗余联系容易破坏数据库的完整性,给数据库的维护增加困难,应当予以消除。
这时,为了提高数据库系统的效率,还应进一步依据处理需求对E-R模式进行优化。
SQL优化的实质就是在结果正确的前提下,用优化器可以识别的语句,充份利用索引,减少表扫描的I/O次数,尽量避免表搜索的发生。
其实SQL的性能优化是一个复杂的过程,有些只是在应用层次的一种体现,深入研究还会涉及数据库层的资源配置、网络层的流量控制以及操作系统层的总体设计。
以下是详细的数据表介绍。
(1)图书馆数据表,详细说明了图书馆的数据类型情况,一目了然。
主键为名称,属性为馆长,负责人,电话,地址,说明,备注。
如下表表2.1图书馆数据表所示。
表2.1图书馆数据表
列名
数据类型
长度
允许空
名称
varchar
200
是
馆长
char
10
是
负责人
char
10
是
电话
varchar
30
是
地址
varchar
200
是
说明
varchar
200
是
备注
varchar
200
是
(2)图书罚款数据表,详细说明了图书罚款的数据类型情况。
主键为罚款编号,属性为图书编号,读者编号,罚款日期,应罚金额,实收金额,是否交款,备注。
如下表表2.2图书罚款数据表所示。
表2.2图书罚款数据表
列名
数据类型
长度
允许空
罚款编号
int
4
否
图书编号
varchar
50
是
读者编号
varchar
20
是
罚款日期
smalldatetime
4
是
应罚金额
money
8
是
实收金额
money
8
是
是否交款
bit
1
是
备注
varchar
100
是
(3)管理员数据表,主键为编号,属性为名称,图书管理等。
如下表表2.3管理员数据表所示。
表2.3管理员数据表
列名
数据类型
长度
允许空
编号
varchar
100
是
名称
varchar
20
是
图书管理
bit
1
否
期刊管理
bit
1
否
读者管理
bit
1
否
图书借还
bit
1
否
期刊借还
bit
1
否
系统设置
bit
1
否
(4)读者信息数据表,主键为编号,属性为姓名,性别等。
如下表表2.4读者信息数据表所示。
表2.4读者信息数据表
列名
数据类型
长度
允许空
编号
varchar
20
否
姓名
varchar
20
是
性别
varchar
8
是
出生日期
smalldatetime
4
是
图书借阅次数
int
4
是
(5)读者类型数据表,主键为类型,属性为图书册书,期刊册书,续借次数,限制图书,限制期刊。
如下表表2.5读者类型数据表所示。
表2.5读者类型数据表
列名
数据类型
长度
允许空
类型
varchar
20
否
图书册书
smalldatetime
2
是
期刊册书
smalldatetime
2
是
续借次数
int
4
是
限制图书
bit
1
是
限制期刊
bit
1
是
2.1.5数据库实现
2.数据库实现阶段,运用DBMS提供的数据语言、工具,根据逻辑设计和物理设计的结果,建立数据库,编译与调试应用程序,组织数据入库,并进行试运行。
(1)设计表中图书馆的属性如下图图2.10图书馆表截图所示。
图2.10图书馆表截图
(2)设计表中图书罚款的属性如下图图2.11图书罚款表截图所示。
图2.11图书罚款表截图
(3)设计表中管理员的属性如下图图2.12管理员表截图所示。
图2.12管理员表截图
(4)设计表中读者信息的属性如下图图2.13读者信息表截图所示。
图2.13读者信息表截图
(5)设计表中读者类型的属性如下图图2.14读者类型表截图所示。
图2.14读者类型表截图
(6)该图书管理表的关系图如下图2.15图书管理系统表关系图所示。
图2.15图书管理系统表关系图
2程序设计
2.2.1概要设计
该图书管理系统前台VB的界面设计:
根据系统的功能模块来说明,其功能在系统开发的总体任务基础上完成。
我们可以分析出该图书管理系统大致可以分为以下几个模块:
(1)读者管理模块(读者类别设置,读者档案管理)。
(2)图书管理模块(图书类别设置,图书档案管理)(3)流通管理模块(图书征订,图书借阅,图书归还,逾期清单,图书罚款)。
(4)退出系统模块。
该系统功能模块图如下图图2.13图书管理系统功能模块图所示。
图2.16图书管理系统功能模块图
下面对各个功能分别加以阐述:
(1)读者管理:
模块包括读者类别设置,读者档案管理。
可以实现读者资料的分条浏览,添加,修改,删除,查询和打印功能。
单击“命令按钮工具栏”中的按钮可以对页
框中的记录进行相应的操作。
(2)图书管理:
模块包括图书类别设置,图书档案管理。
可以实现图书资料的分条浏览,添加,修改,删除,查询和打印功能。
在表单的“书籍资料”页框中可以通过“移动记录工具栏”分条查看系统内所有的图书的详细资料,包括图书的名称,类别,作者,出版社等。
单击“命令按钮工具栏”中的按钮可以对“书籍资料”页框中的记录进行相应的操作。
(3)流通管理:
模块包括图书征订,图书借阅,图书归还,逾期清单,图书罚款。
可以实现图书记录查询,读者借书记录查询,借还书操作,查看逾期未还的图书和打印等功能。
读者借书记录查看功能可以查看所有的借书记录,也可以只查看目前尚未归还的借书记录。
在“读者借书记录”表单中单击“借书”按钮,在打开的“输入”表单中,输入要借出的图书的图书编号,如果该图书是在馆中而且该读者还能借书,则借书成功 。
当表单中显示的是读者未归还的图书列表时,在列出借书记录的表格中双击要归还的图书的“图书编号”栏即可将此书还入。
在“读者借书记录”表单中单击“过期”按钮,可以查看系统内到了归还日期而未归还的图书的借阅记录。
(4)退出系统:
退出本图书管理系统。
2.2.2程序实现
(1)该系统程序的结构流程图如下图图2.17图书馆程序结构流程图所示。
图2.17图书馆程序结构流程图
(2)与数据库的连接方法的介绍。
VB连接数据库的方式有很多。
比如直接用ODBCAPI编程,这种方法灵活、高效,可以实现对数据库复杂的控制;也可以用VB中的数据对象,如RDO(远程数据对象)、DAO(数据访问对象)、ADO(ActiveX数据对象),这种方法实现起来方便、快捷。
我们使用的是ADO来实现数据库的连接,如果需要就可以直接构造记录集对象。
可以访问多种数据源。
使应用程序具有很好的通用性和灵活性。
访问数据源效率高。
方便Web应用。
ADO库包含三个基本接口:
_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。
ADO可以以ActiveX控件的形式出现,这就大大方便了Web应用程序的编制,技术编程接口丰富。
步骤:
创建、调试存储过程;在VB中生成一个新的工程,工程有一窗体,一个COMMAND按钮,一个MSFlexGrid控件;创建连接ADOconnection;创建命令ADOcommand;创建参数并设置各个参数的属性;执行ADOcommand;对数据进行处理;MSFlexGrid显示查询到的数据;释放连接,退出程序。
(3)实现系统运行步骤。
1.进入系统主界面后,单击“流通管理”按钮,弹出下拉列表。
点击其它按钮,也可以实现相应操作。
该模块包括以下控件:
读者管理,图书管理,流通管理,退出系统。
如下图图2.18图书管理系统界面探出菜单截图所示。
图2.18图书管理系统界面弹出菜单截图
1.点击“图书整理”按钮,可进入图书维护界面。
该模块包括以下控件:
图书修改删除、图书类别编辑等。
点击修改、添加按钮,也可以实现相应操作。
在文本编辑区输入信息,即可执行。
如下图图2.19图书征订界面截图所示。
图2.19图书整理界面截图
3.点击“图书借还”按钮,进入图书借还模块。
该模块包括以下控件:
借阅图书,归还图书,退出。
在读者信息中,选择输入编号或条形码,按回车确认图书资料是否属实,还可以同时了解借书情况。
如需借书,选择输入图书信息,按回车或取消实现相应操作。
也可查询相应的图书信息和该书是否被他人借走等情况。
如下图图2.17图书借阅界面截图所示。
图2.20图书借还界面
第3章课程设计总结
这学期我们学习了《SQLServer数据库应用系统开发技术》这门课,SQL语言的功能包括查询、操纵、定义和控制,是一个综合的、通用的关系数据库语言,同时又是一种高度非过程化的语言,只要求用户指出做什么而不需要指出怎么做。
SQL集成实现了数据库生命周期中的全部操作。
通过一学期的学习我基本掌握SQL语言的功能及应用。
在期末老师为我们布置了一个课程设计,内容为利用自己所学的知识,用编程语言VisualBasic6.0作为前台,SQLServer2000作为后台操作数据库来实现系统运行。
我们小组的题目是《图书管理系统》。
通过为期两周的课程设计,中间也遇到了一些困难。
比如,刚接到课题时不知如何下手,通过老师的细心讲解以及在网上和图书馆查看了很多资料后,才开始动手设计。
课程设计中关于VisualBasic前台程序设计比较简单,但在调试时还应该仔细,对此我又去图书馆查阅了一下有关这方面的资料,对程序进行尝试性调试,再逐步进行修改,终于运行成功!
对于SQLServer2000后台数据库的操作,我们先从建立数据库及表对象入手,逐渐建立其他数据库对象,实现数据完整性。
最后,使用VisualBasic设计的友好界面,应用ADO数据对象连接和操作SQLServer数据库对象,在不断的运行调试后,最终实现了该系统的运行。
还有就是由于所学知识有限,在实践中还是有许多不足之处,不过这些并没有让我气馁,相反更激发了深入学习的兴趣。
在做课设过程中遇到不明白的地方我就查看书籍或询问老师,这样不仅使课本上的知识加深了印象也使我的知识面又有提高,我要继续学习有关的知识,争取设计出更完美的系统。
最后,我要感谢老师对于这次课程设计给予我们的帮助,她认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。
我会继续努力,让学到的知识有用武之处。
参考文献
[1]李玉林,马军,王岩.零基础学VisualBasic+SQLServer.机械工业出版社,2008
[2]李冬芸.SQLServer数据库应用技术实例教程.中国水利水电出版社,2006
[3]曾毅.SQLServer数据库技术大全.清华大学出版社,2007
[4]蒋本立.数据库原理及应用:
SQLServer2002.中国铁道出版社,2006
[5]李彦,韩光林,李玉波.SQLServer完全自学手册.机械工业出版社,2004
[6]杨章伟.精通SQL语言与数据库管理.人民邮电出版社,2008
[7]毛惠卿.SQLServer2002数据库管理信息.机械工业出版社,2006
[8]俞磊.VisualBasic完全自学手册.机械工业出版社,2004
[9]张卫东.VisualBasic实用编程技术.机械工业出版社,2004
[10]孟宪伟.VisualBasic数据库应用.中国电力出版社,2004
[11]刘宝山.程序设计基础--VisualBasic6.0案例教程.机械工业出版社,2005
[12]申旻.VisualBasic6.0高手突破.清华大学出版社,2006
[13]李维.程序开发实践之路.电子工业出版社,2006
[14]秦斌.VisualBasic6.0数据库系统开发与应用.中国水利水电出版社,2007
[15]白鹏,张喜斌,成涛,于大光.VisualBasic编程实例于技巧数据库编程.科学出版社,2005
[16](美)MichalIHalvorson.MicrosoftVisualBasic6.0Professional循序渐进教程.北京希望电子出版社,2003