SQL图书馆管理系统.docx

上传人:b****8 文档编号:10116020 上传时间:2023-05-23 格式:DOCX 页数:22 大小:191.76KB
下载 相关 举报
SQL图书馆管理系统.docx_第1页
第1页 / 共22页
SQL图书馆管理系统.docx_第2页
第2页 / 共22页
SQL图书馆管理系统.docx_第3页
第3页 / 共22页
SQL图书馆管理系统.docx_第4页
第4页 / 共22页
SQL图书馆管理系统.docx_第5页
第5页 / 共22页
SQL图书馆管理系统.docx_第6页
第6页 / 共22页
SQL图书馆管理系统.docx_第7页
第7页 / 共22页
SQL图书馆管理系统.docx_第8页
第8页 / 共22页
SQL图书馆管理系统.docx_第9页
第9页 / 共22页
SQL图书馆管理系统.docx_第10页
第10页 / 共22页
SQL图书馆管理系统.docx_第11页
第11页 / 共22页
SQL图书馆管理系统.docx_第12页
第12页 / 共22页
SQL图书馆管理系统.docx_第13页
第13页 / 共22页
SQL图书馆管理系统.docx_第14页
第14页 / 共22页
SQL图书馆管理系统.docx_第15页
第15页 / 共22页
SQL图书馆管理系统.docx_第16页
第16页 / 共22页
SQL图书馆管理系统.docx_第17页
第17页 / 共22页
SQL图书馆管理系统.docx_第18页
第18页 / 共22页
SQL图书馆管理系统.docx_第19页
第19页 / 共22页
SQL图书馆管理系统.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

SQL图书馆管理系统.docx

《SQL图书馆管理系统.docx》由会员分享,可在线阅读,更多相关《SQL图书馆管理系统.docx(22页珍藏版)》请在冰点文库上搜索。

SQL图书馆管理系统.docx

SQL图书馆管理系统

《管理信息系统设计专题》报告

 

题目:

图书馆管理系统

 

院(系):

专业班级:

学号:

学生姓名:

指导教师:

教师职称:

起止时间:

 

设计任务及评语

院(系):

教研室:

学号

学生姓名

专业班级

设计题目

图书馆管理系统

设计任务

 

要求根据管理信息系统及数据库设计原理,按照系统设计的步骤和规范,完成各阶段的设计内容。

需求分析具体实际,数据流图、数据字典、关系模型要规范。

在sqlserver2000上实现数据库的模型建立(数据库、表的建立、完整性约束的实现、关系图、必要的存储过程及触发器的编程),并用VB实现简单的应用程序。

设计过程中,要严格遵守设计的时间安排,听从指导教师的指导。

正确地完成上述内容,规范完整地撰写出设计报告。

指导教师评语及成绩

成绩:

指导教师签字:

2012年7月9日

 

第1章设计目的与要求

1.1设计目的

本设计专题是软件工程类专业的有关管理信息系统设计开发的一个重要环节,是本专业学生必须学习和掌握的综合实践课程。

本实践课的主要目的是:

(1)、掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;

(2)掌握关系数据库的设计方法;(3)掌握SQLServer2000技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。

1.2设计环境

硬件:

操作系统:

Windowsxp

软件:

数据库系统:

SQLServer2000客户端开发工具:

VisualBasic等

1.3主要参考资料

1.《管理信息系统》黄梯云高等教育出版社

2.《数据库系统概论》萨师煊高等教育出版社

3.《SQLServer2000数据库应用系统开发技术》朱如龙编,机械工业出版社。

4.《SQLServer2000数据库应用系统开发技术实验指导》朱如龙编,机械工业出版社

1.4设计内容及要求

一、内容

1.要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规范,完成各阶段的设计内容。

2.需求分析具体实际,数据流图、数据字典、关系模型要正确规范

3.在sqlserver2000上实现设计的数据库模型。

4.对应用程序进行概要设计。

5.用VB实现简单的应用程序编写。

二、要求

设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。

正确地完成上述内容,规范完整地撰写出课程设计报告。

第2章设计内容

2.1数据库设计

2.1.1需求分析

一、数据库需求分析

因此,本系统应该主要完成和实现如下功能:

1.读者基本信息的输入,包括借书证编号、读者姓名、读者性别。

2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。

3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。

4.书籍类别信息的查询、修改,包括类别编号、类别名称。

5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。

6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。

7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。

8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。

9.还书信息的输入,包括借书证编号、书籍编号、还书日期。

10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。

11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。

12.超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等

 

二、数据流图(DFD)

通过对系统需求的调查分析,细化软件功能,把系统划分为四个子系统,明确每个子系统所要完成的主要逻辑功能,采用以图形的方式描绘数据在系统中流动和处理。

数据流图是用来表示系统的逻辑模型。

新书入库DFD:

 

图2.1新书入库数据流图

三、数据字典(DD):

数据字典是关于数据信息的集合,也就是对数据流图中包含的所有元素定义的集合。

任何字典最主要的用途都是供人查阅不了解的条目的解释,数据字典的作用也正是在软件分析和设计过程中给人提供关于数据的描述信息。

数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。

只有数据流图和对数据流图精确的定义放在一起,才能共同构成系统的规格说明。

由于元素太多我们只对其中主要的元素定义说明。

(1)数据项的定义

表2.1.3数据项的定义

数据项名称

数据项含义说明

别名

数据类型

长度

取值范围

图书编号

为每个图书设置一个代号

字符

15

a000-x999

图书名

图书的名字

字符

20

中、外文

作者

图书的作者

字符

20

中、外文

出版社

图书的出版社

字符

20

中、外文

书架位置

图书放的书架号

字符

16

a000-x999

价格

图书的价钱

数值

6

a000-x999

图书类型

图书的分类号

整型

1

图书数量

图书的总共数量

整型

7

解释

图书的解释说明

字符

500

a000-x999

(2)数据结构定义

1)数据结构名称:

图书分类

含义说明:

数据库中用来存储图书类型的信息

数据结构组成:

社会科学+自然科学

2)数据结构名称:

社会科学

含义说明:

数据库中用来存储科学类书籍的信息

数据结构组成:

文学+哲学

3)数据结构名称:

自然科学

含义说明:

数据库中用来存储自然科学书籍的信息

数据结构组成:

化学+数学+物理+信息技术

4)数据结构名称:

书籍

含义说明:

数据库中用来存储书籍的信息

数据结构组成:

书号+书名+作者+出版社+单价+书架位置+数量+内容介绍

(3)数据流定义

数据流名称:

图书查询

简要说明:

对需要借阅的图书进行查询

数据流来源:

图书管理模块

数据流去向:

P2

数据结构:

书名+图书编号+图书类型

2)数据流名称:

图书添加

简要说明:

对新图书进行信息添加

数据流来源:

P4

数据流去向:

图书管理模块

数据结构:

书编号+书名+书类型+出版社+价格+书架位置+数量

3)数据流名称:

图书修改

简要说明:

对书籍进行信息修改

数据流来源:

P3

数据流去向:

图书管理模块

数据结构:

书号+书名+作者+出版社+单价+书架位置+数量+内容介绍

 

四、程序流程图

 

 

图2.2程序流程图

五、功能结构图

图2.3图书馆管理系统功能

结构图

2.1.2概念设计

图2.4图书管理系统E-R图模型

 

图2.5图书实体E-R图

 

2.1.3逻辑设计

系统主要涉及12个实体:

1.用户表(Users)

2.图书表(BookInfo)

3.读者表(ReaderInfo)

4.系统设置(SysInfo)

5.读者类型(ReaderType)

6.书籍类型(BookType)

7.借阅信息(BorrowInfo)

8.还书信息(ReturnInfo)

9.存放位置(BookLocation)

10.系统日志(SysLog)

关系模型(带下划线的为主码,带波浪线的为外码):

图书信息(图书编号,书名,书号,类别,定价,入库时间,库存量)

借阅信息(借书时间,应还时间,图书编号,是否续借)

借阅人(图书证号,姓名,电话,已借书数目,能否借书,单位名称)

借阅书籍(图书编号,图书证号,书名)

归还书籍(图书编号,图书证号,书名)

管理信息(图书编号,图书证号,登记借书日期,是否在库,存放位置)

表设计及表结构

1,需要的表有:

图书信息表,借阅信息表,借阅人表,借阅书籍表,归还书籍表,管理信息表,员工表。

2,以下为各表的表结构

 

列名

数据类型

长度

是否允许为空

默认值

说明

图书编号

char

6

×

主键

书名

nvarchar

50

×

书号

char

6

类别

char

8

×

定价

money

8

×

入库时间

smalldatetime

4

库存量

tingyint

1

10

表2.1图书信息结构

2.1.4物理设计

1.物理设计分析

物理设计主要包括存储结构、存取方法。

存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。

通过指定存储过程的名字并给出参数来执行它。

存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应

用到存储过程。

2.索引的创建

为BookInfo表创建一个以BookNo为索引的关键字的唯一聚簇索引

1)展开数据库中的表右键BookInfo表,单击所有任务弹出的索引管理。

2)在窗体点新建索引名称为BookInfo,点击复选框“聚簇索引”“惟一值”确定

3.日志数据文件存放

数据每次的使用后都会有所变动所以我们要对数据库的进行,备份防止一旦数据库出现问题时我们会对其进行还原,将备份的数据库存放在服务器以外的硬盘上,保证以后用到时进行使用。

备份我们将用到代理服务器,

用大理服务器的好处是不用我们定时的去备份,让服务器的定时备份导到固定的位置。

1)备份方法:

(1)在企业管理器中进行

(2)打开企业管理器展开本地服务器中的管理。

(3)启动管理中的代理服务器,右键备份单击新建备份。

按着步骤选定备份数据库的路径

(例如:

放到“D:

\SQL\beifen_backup”)。

(4)右键数据库维护计划,单击新建维护计划,按着步骤下一步,维护整个或几个或者单个的数据库选定维护周期,

建议维护周期为一天

(因为图书馆每天都有数据变动,一旦发生数据库损坏避免数据丢失的过多)

2)定期将数据库分离保存到固定地方,定期删除那些过期的备份数据库,

更好的利用有限的空间。

(例如:

放在“D:

\SQL\benfen\shujuku\”

 

4.数据库的大致物理设计

Users

用户表

存储用户的基本信息

BookInfo

图书表

存储图书的基本信息

ReaderInfo

读者表

存储读者的基本信息

SysInfo

系统设置

存储系统信息

ReaderType

读者类型

存储读者类型的信息

BookType

书记类型

存储图书类型的信息

BorrowInfo

借阅信息

用于存储读者借阅信息

ReturnInfo

还书信息

用于存储读者还书信息

BookLocation

存放位置

用于存储图书的存放位置信息

SysLogs

系统日志

用于存储系统日志的信息

表2.2

5.外部界面物理设计

Login

Login类为用户提供登录界面。

Library

Library类为用户主窗体界面。

AboutJFrame

AboutJFrame类为显示系统关于的操作界面。

AddBookJFrame

AddBookJFrame类为用户提供修改增加图书的操作界面。

BookloPo

BookloPo类为用户提供创建设置图书存放位置的操作界面。

bookMainManageJFrame

bookMainManageJFrame类为用户提书库管理(包括子窗体)的界面。

BooksJFrame

BooksJFrame类为用户提供创建图书类型设置的窗体。

BorrowJFrame

BorrowJFrame类为用户提供创建借书的窗体:

BorrowQx

BorrowQx类为用户创建借书信息查询的窗体:

deleteBookJDialog

deleteBookJDialog该类创建删除图书窗体的界面

表2.3

1.1.5数据库实现

图2.7图书索引/键、

图2.8图书关系

图2.9关系图

我选取制作的是图书模块

所用的数据库为:

图书表。

1)存储过程:

Createprocedurenianjion图书

(@nanjichar(20)

@numberchar(20)

@banjichar(20)

@nianjishuchar(20)

@banjimingchar(20)

ASInsertintovaluse(@number,@number,@name)GO

2)触发器程序:

为表建立my触发器以自动更新class表中图书

USEJWGL

GO

IFEXISTS(SELECTnameFROMsysobjects

WHEREtype='TR'ANDname='student_insert')

DROPTRIGGERstudent_insert

GO

CREATETRIGGERstudent_insertONstudent

FORUPDATE

AS

IFUPDATE(class_id)

BEGIN

UPDATEroomSETstudent_num=(

SELECTCOUNT(r.class_id)FROMstudentr,insertedi

WHEREr.typeld_id=i.typeld_id)

FROMstudentm,insertedi

WHEREm.typeld_id=i.typeld_id

UPDATEroomSETstudent_num=(

SELECTCOUNT(r.student_id)FROMstudentr,deleted

2.2程序设计

2.2.1概要设计

各功能模块描述如下:

1.系统管理

系统管理中,能实现通过登录账户和密码登录到图书管理系统的主界面。

2.图书管理

在图书管理模块中,主要实现对图书类别的添加和管理,并且可以添加新的图书。

3.读者管理

实现对读者类别的添加和管理,读者类别可包含老师学生等等,并且各读者类别所借阅的图书书目和借阅时间都存在差别。

对已借阅图书的读者的信息进行添加和管理,并且日后可根据登记的读者编号进行查阅。

4.借阅管理

借阅管理包含对应读者所借图书的相关信息,可根据借阅编号查询相关借阅情况。

2.2.2程序实现

一、登陆窗口界面如下所示

该页面用于管理员登陆。

成功登陆则取得用户的session用于以后的操作权限认定。

然后直接进入主页;如果不是则执行查询语句,看数据库中是否存在这样的用户名和密码,成功则进入主页,否则提示输入错误。

图2.1登陆界面

输入管理员admin01,密码12345,即可进入图书馆管理系统。

管理员登陆代码

PrivateSubcmdExit_Click()

End

EndSub

PrivateSubcmdLogin_Click()

connstr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=library;DataSource=(Local)"

conn.Openconnstr

sqlstr="select密码,管理员from管理员信息where管理员='"+Me.textadmin.Text+"'and密码='"+Me.textcode.Text+"'"

rs.Opensqlstr,conn

Ifrs.EOF=TrueThen

Me.textcode.Text=""

MsgBox("你输入的账号或密码是错误的!

")

Else

Me.Visible=False

frmMain.Show

二、图书管理界面如下图所示

该页面用于用户的图书查询,利用查询语句的like%替代任意长度字符实现了模糊查询。

所有查询的字段用户都可以不输入,如果输入了某个数据,程序执行时自己会判断,输入了就会加上相应的SQL语句。

考虑到使用方便性,图书类型,价格范围,出版日期都无须用户输入,已经设定了合理的初始值。

图书管理界面

进入该界面后,可以进行图书的添加,修改和删除操作。

图书管理

Dimsqlbooka(5)AsString

PrivateSubcmdAdd_Click()

IftxtBookID.Text<>""Then

IfTrim(txtBookID.Text)Like"#####"Then

sqlbooka

(1)=Trim(txtBookID.Text)

Else

MsgBox"图书号必须由五位阿拉伯数字组成!

",,"提示"

ExitSub

EndIf

Else

Me.Visible=False

frmMain.Show

Else

sql="select*from系统管理where用户名='"&Combo1.Text&"'"

rs_login.Opensql,conn,adOpenKeyset,adLockPessimistic

Ifrs_login.EOF=TrueThen

MsgBox"没有这个用户",vbOKOnly+vbExclamation,""

Combo1.SetFocus

Else

IfTrim(rs_login.Fields

(1))=Trim(txtpwd.Text)Then

userID=Combo1.Text

rs_login.Close

UnloadMe

form1.Show

ElsevbOKOnly+vbExclamation,""

txtpwd.SetFocus

cnt=0

EndSub

PrivateSubtxtuser_Change()

EndSub

第三章设计总结

经过长时间我完整的结束了本次课程设计。

通过本次课程设计,我不仅加深了平时的学习并且了解到更多关于SQL数据库的使用,并且利用所学知识将SQLServer2000与VisualBasic6.0的使用结合起来制作了一个完整的系统。

这个图书馆系统可以使操作员进行一般的查询图书和用户信息、借阅和归还图书、整理图书包括录入和注销图书以及用户、修改管理员密码以保护自己使用该系统的权利、查看图书信息的功能。

在结束了课程设计之后让我对SQL数据库的各个控件有了更好地掌握之外,也让我了解了一个图书管理系统的基本模式,学习之余扩宽了知识面。

虽然在平时的学习中通过老师的讲授已经基本掌握了SQL数据库的用法,但知识分散不牢固,通过这次课程设计我对VisualBasic又一次的加深印象,并掌握。

通过本次设计,我可以灵活的将SQL数据库中的数据与VisualBasic控件结合起来,制作了这个完整的系统,并能准确地使用所学的编程语言来制作该系统。

可以说完成课程设计之后让我受益匪浅,同时也锻炼了我的独立思考能力。

我相信通过本次实验,我可以更好的使用SQL数据库来制作一些其他系统,能进一步学习和使用SQL数据库。

由于这是我第五次进行制作,部分的掌握。

但水平和经验限制了系统的功能。

一些图书管理应有的功能暂时无法实现,需要更加完善。

相信在这次实验之后我可以对图书管理系统有进一步的学习和研究,已得到更好的发展。

本次课程设计是经过老师的耐心讲述及指导才能顺利完成的。

虽然课程设计只有几个星期的时间,但是平时老师的指导给本次课程设计奠定了良好的基础,我能基本完成本次设计中的部分制作。

即使在设计过程中遇到了一些问题,翟老师依然认真的辅导,帮助我解决了设计中的各种困难。

在课程设计时,翟老师给予了我细心的讲解和辅导,使得课程设计能顺利、按时的完成,并让我在学习上有了更进一步的提高。

 

参考文献

[1].郑阿奇.《SQLServer教程》.清华大学出版社

[2].银华强.《visualBasic经典开发案例》.中国铁道出版社

[3]龚沛增.《VisualBasic》.程序设计教程清华大学出版社

[4]张志宏.《SQLServer数据库开发经典案例解析》.清华大学出版社

[5]周治平.《ADO数据存取技术》.江南出版社

[6]甘仞初.《信息系统开发》.北京经济科学出版社

[7]黄梯云.《管理信息系统导论》.机械工业出版社

[8]刘胜军.《SQLSERVER2000开发与应用》.机械工业出版社

[9]伍俊良.《管理信息系统(MIS)开发与应用》.北京科学出版社

[10]王运坚.《VISUALBASIC6.0应用指南》.人民邮电出版社

[11]姚小兵.《VB中ADO技术的应用》.杭州出版社

[12]岂兴明.《VisualBasic.SQL项目开发宝典》.电子工业出版社

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2