1、完整word版SQL图书馆管理系统管理信息系统设计专题 报告题目: 图书馆管理系统 院(系): 专业班级: 学 号: 学生姓名: 指导教师: 教师职称: 起止时间: 设计任务及评语院(系): 教研室:学 号学生姓名专业班级设计题目 图书馆管理系统 设 计 任 务要求根据管理信息系统及数据库设计原理,按照系统设计的步骤和规范,完成各阶段的设计内容。需求分析具体实际,数据流图、数据字典、关系模型要规范。在sql server2000 上实现数据库的模型建立(数据库、表的建立、完整性约束的实现、关系图、必要的存储过程及触发器的编程),并用VB实现简单的应用程序。设计过程中,要严格遵守设计的时间安排,
2、听从指导教师的指导。正确地完成上述内容,规范完整地撰写出设计报告。指导教师评语及成绩成绩: 指导教师签字: 2012年 7月 9 日 第1章 设计目的与要求1.1设计目的 本设计专题是软件工程类专业的有关管理信息系统设计开发的一个重要环节,是本专业学生必须学习和掌握的综合实践课程。本实践课的主要目的是:(1)、掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;(2)掌握关系数据库的设计方法;(3)掌握SQL Server 2000技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。1.2设计环境硬件:操作系统:Windows xp软件:数据库系统:SQL Ser
3、ver 2000 客户端开发工具:Visual Basic等1.3主要参考资料1.管理信息系统 黄梯云 高等教育出版社2.数据库系统概论 萨师煊 高等教育出版社 3.SQL Server 2000 数据库应用系统开发技术朱如龙编,机械工业出版社。4.SQL Server 2000 数据库应用系统开发技术实验指导朱如龙编,机械工业出版社1. 4设计内容及要求 一、内容1.要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规范,完成各阶段的设计内容。2.需求分析具体实际,数据流图、数据字典、关系模型要正确规范3.在sql server2000 上实现设计的数据库模型。4.对应用程序进
4、行概要设计。5.用VB实现简单的应用程序编写。二、要求设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。正确地完成上述内容,规范完整地撰写出课程设计报告。第2章 设计内容2.1数据库设计2.1.1需求分析一、数据库需求分析因此,本系统应该主要完成和实现如下功能:1. 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。2读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。3书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。4书籍类别信息的查询、修改,包括类别编号、类别名称。5书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出
5、版日期、登记日期。6书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。7借书信息的输入,包括读者借书证编号、书籍编号、借书日期。8借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。9还书信息的输入,包括借书证编号、书籍编号、还书日期。 10还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。11超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。12超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金
6、额等二、数据流图(DFD)通过对系统需求的调查分析,细化软件功能,把系统划分为四个子系统,明确每个子系统所要完成的主要逻辑功能,采用以图形的方式描绘数据在系统中流动和处理。数据流图是用来表示系统的逻辑模型。新书入库DFD:图2.1新书入库数据流图三、数据字典(DD):数据字典是关于数据信息的集合,也就是对数据流图中包含的所有元素定义的集合。任何字典最主要的用途都是供人查阅不了解的条目的解释,数据字典的作用也正是在软件分析和设计过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图
7、精确的定义放在一起,才能共同构成系统的规格说明。 由于元素太多我们只对其中主要的元素定义说明。(1)数据项的定义表2.1.3 数据项的定义数据项名称数据项含义说明别名数据类型长度取值范围 图书编号为每个图书设置一个代号无字符15a000-x999图书名图书的名字无字符20中、外文作者图书的作者无字符20中、外文出版社图书的出版社无字符20中、外文书架位置图书放的书架号无字符16a000-x999价格图书的价钱无数值6a000-x999图书类型图书的分类号无整型1图书数量图书的总共数量无整型7解释图书的解释说明无字符500a000-x999(2)数据结构定义1)数据结构名称:图书分类含义说明:数
8、据库中用来存储图书类型的信息数据结构组成:社会科学+自然科学 2)数据结构名称:社会科学含义说明:数据库中用来存储科学类书籍的信息数据结构组成:文学+哲学3)数据结构名称:自然科学含义说明:数据库中用来存储自然科学书籍的信息数据结构组成:化学+数学+物理+信息技术 4)数据结构名称:书 籍含义说明:数据库中用来存储书籍的信息数据结构组成:书号+书名+作者+出版社+单价+书架位置+数量+内容介绍(3)数据流定义数据流名称:图书查询简要说明:对需要借阅的图书进行查询 数据流来源:图书管理模块 数据流去向:P2数据结构:书名+图书编号+图书类型2)数据流名称:图书添加简要说明:对新图书进行信息添加
9、数据流来源:P4数据流去向:图书管理模块数据结构:书编号+书名+书类型+出版社+价格+书架位置+数量3)数据流名称:图书修改简要说明:对书籍进行信息修改数据流来源:P3数据流去向:图书管理模块数据结构:书号+书名+作者+出版社+单价+书架位置+数量+内容介绍四、程序流程图 图2.2 程序流程图 五、功能结构图 图2.3图书馆管理系统功能结构图212概念设计图2.4图书管理系统E-R图模型图2.5图书实体E-R图213逻辑设计系统主要涉及12个实体:1.用户表 (Users)2.图书表 (BookInfo)3.读者表 (ReaderInfo)4.系统设置 (SysInfo)5.读者类型 (Rea
10、derType)6.书籍类型 (BookType)7.借阅信息 (BorrowInfo)8.还书信息 (ReturnInfo)9.存放位置 (BookLocation)10.系统日志 (SysLog)关系模型(带下划线的为主码,带波浪线的为外码):图书信息(图书编号,书名,书号,类别,定价,入库时间,库存量)借阅信息(借书时间,应还时间,图书编号,是否续借)借阅人(图书证号,姓名,电话,已借书数目,能否借书,单位名称)借阅书籍(图书编号,图书证号,书名)归还书籍(图书编号,图书证号,书名)管理信息(图书编号,图书证号,登记借书日期,是否在库,存放位置)表设计及表结构1, 需要的表有:图书信息表
11、,借阅信息表,借阅人表,借阅书籍表,归还书籍表,管理信息表,员工表。 2, 以下为各表的表结构列名数据类型长度是否允许为空默认值说明图书编号char6无主键书名nvarchar50无书号char6无类别char8无定价money8无入库时间smalldatetime4无库存量tingyint110表2.1图书信息结构214物理设计1.物理设计分析物理设计主要包括存储结构、存取方法。存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用通过指定存储过程的名字并给出参数来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应用到存储过程。2.索引的创建为B
12、ookInfo表创建一个以BookNo为索引的关键字的唯一聚簇索引1)展开数据库中的表右键BookInfo表,单击所有任务弹出的索引管理。2)在窗体点新建索引名称为BookInfo,点击复选框“聚簇索引” “惟一值”确定3.日志数据文件存放数据每次的使用后都会有所变动所以我们要对数据库的进行,备份防止一旦数据库出现问题时我们会对其进行还原,将备份的数据库存放在服务器以外的硬盘上,保证以后用到时进行使用。备份我们将用到代理服务器,用大理服务器的好处是不用我们定时的去备份,让服务器的定时备份导到固定的位置。1)备份方法:(1)在企业管理器中进行(2)打开企业管理器展开本地服务器中的管理。(3)启动
13、管理中的代理服务器,右键备份单击新建备份。按着步骤选定备份数据库的路径(例如:放到“D:SQLbeifen_backup” )。(4)右键数据库维护计划,单击新建维护计划,按着步骤下一步,维护整个或几个或者单个的数据库选定维护周期,建议维护周期为一天(因为图书馆每天都有数据变动,一旦发生数据库损坏避免数据丢失的过多)2)定期将数据库分离保存到固定地方,定期删除那些过期的备份数据库,更好的利用有限的空间。(例如:放在“D:SQLbenfenshujuku”4. 数据库的大致物理设计Users用户表存储用户的基本信息BookInfo图书表存储图书的基本信息ReaderInfo读者表存储读者的基本信
14、息SysInfo系统设置存储系统信息ReaderType读者类型存储读者类型的信息BookType书记类型存储图书类型的信息BorrowInfo借阅信息用于存储读者借阅信息ReturnInfo还书信息用于存储读者还书信息BookLocation存放位置用于存储图书的存放位置信息SysLogs系统日志用于存储系统日志的信息表2.25.外部界面物理设计LoginLogin类为用户提供登录界面。LibraryLibrary类为用户主窗体界面。AboutJFrameAboutJFrame类为显示系统关于的操作界面。AddBookJFrameAddBookJFrame类为用户提供修改增加图书的操作界面。
15、BookloPoBookloPo类为用户提供创建设置图书存放位置的操作界面。bookMainManageJFrame bookMainManageJFrame类为用户提书库管理(包括子窗体)的界面。BooksJFrameBooksJFrame类为用户提供创建图书类型设置的窗体。BorrowJFrameBorrowJFrame类为用户提供创建借书的窗体:BorrowQxBorrowQx类为用户创建借书信息查询的窗体:deleteBookJDialogdeleteBookJDialog该类创建删除图书窗体的界面表2.31.1.5 数据库实现图 2.7图书 索引/键、图2.8 图书关系图2.9关系图
16、我选取制作的是图书模块所用的数据库为:图书表。1)存储过程:Create procedure nianji on 图书(nan ji char(20)number char(20)ban ji char(20)nian ji shu char(20)ban ji ming char(20)AS Insert intovaluse(number,number,name)GO 2)触发器程序:为表建立my触发器以自动更新class表中图书USE JWGLGOIF EXISTS(SELECT name FROM sysobjectsWHERE type =TRAND name =student_in
17、sert)DROP TRIGGER student_insertGOCREATE TRIGGER student_insert ON studentFOR UPDATEASIF UPDATE(class_id)BEGIN UPDATE room SET student_num=( SELECT COUNT(r.class_id)FROM student r,inserted i WHERE r.typeld_id=i.typeld_id)FROM student m,inserted iWHERE m.typeld_id=i.typeld_idUPDATE room SET student_n
18、um=( SELECT COUNT(r.student_id)FROM student r,deleted 22程序设计221概要设计各功能模块描述如下:1.系统管理系统管理中,能实现通过登录账户和密码登录到图书管理系统的主界面。2.图书管理在图书管理模块中,主要实现对图书类别的添加和管理,并且可以添加新的图书。3.读者管理实现对读者类别的添加和管理,读者类别可包含老师学生等等,并且各读者类别所借阅的图书书目和借阅时间都存在差别。对已借阅图书的读者的信息进行添加和管理,并且日后可根据登记的读者编号进行查阅。4.借阅管理借阅管理包含对应读者所借图书的相关信息,可根据借阅编号查询相关借阅情况。22
19、2程序实现一、登陆窗口界面如下所示该页面用于管理员登陆。成功登陆则取得用户的session用于以后的操作权限认定。然后直接进入主页;如果不是则执行查询语句,看数据库中是否存在这样的用户名和密码,成功则进入主页,否则提示输入错误。 图2.1 登陆界面输入管理员admin01,密码12345,即可进入图书馆管理系统。管理员登陆代码Private Sub cmdExit_Click() EndEnd SubPrivate Sub cmdLogin_Click() connstr = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Securi
20、ty Info=False;Initial Catalog=library;Data Source=(Local) conn.Open connstr sqlstr = select 密码,管理员 from 管理员信息 where 管理员 = + Me.textadmin.Text + and 密码 = + Me.textcode.Text + rs.Open sqlstr, conn If rs.EOF = True Then Me.textcode.Text = MsgBox (你输入的账号或密码是错误的!) Else Me.Visible = False frmMain.Show二、图书
21、管理界面如下图所示该页面用于用户的图书查询,利用查询语句的like %替代任意长度字符实现了模糊查询。所有查询的字段用户都可以不输入,如果输入了某个数据,程序执行时自己会判断,输入了就会加上相应的SQL语句。考虑到使用方便性,图书类型,价格范围,出版日期都无须用户输入,已经设定了合理的初始值。 图书管理界面进入该界面后,可以进行图书的添加,修改和删除操作。图书管理Dim sqlbooka(5) As StringPrivate Sub cmdAdd_Click() If txtBookID.Text Then If Trim(txtBookID.Text) Like # Then sqlboo
22、ka(1) = Trim(txtBookID.Text) Else MsgBox 图书号必须由五位阿拉伯数字组成!, , 提示 Exit Sub End IfElse Me.Visible = False frmMain.ShowElse sql = select * from 系统管理 where 用户名= & Combo1.Text & rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox 没有这个用户, vbOKOnly + vbExclamation, Co
23、mbo1.SetFocus Else If Trim(rs_login.Fields(1) = Trim(txtpwd.Text) Then userID = Combo1.Text rs_login.Close Unload Me form1.Show Else vbOKOnly + vbExclamation, txtpwd.SetFocuscnt = 0End SubPrivate Sub txtuser_Change()End Sub第三章 设计总结经过长时间我完整的结束了本次课程设计。通过本次课程设计,我不仅加深了平时的学习并且了解到更多关于SQL数据库的使用,并且利用所学知识将SQ
24、L Server2000与Visual Basic 6.0的使用结合起来制作了一个完整的系统。这个图书馆系统可以使操作员进行一般的查询图书和用户信息、借阅和归还图书、整理图书包括录入和注销图书以及用户、修改管理员密码以保护自己使用该系统的权利、查看图书信息的功能。在结束了课程设计之后让我对SQL数据库的各个控件有了更好地掌握之外,也让我了解了一个图书管理系统的基本模式,学习之余扩宽了知识面。虽然在平时的学习中通过老师的讲授已经基本掌握了SQL数据库的用法,但知识分散不牢固,通过这次课程设计我对Visual Basic又一次的加深印象,并掌握。通过本次设计,我可以灵活的将SQL数据库中的数据与V
25、isual Basic控件结合起来,制作了这个完整的系统,并能准确地使用所学的编程语言来制作该系统。可以说完成课程设计之后让我受益匪浅,同时也锻炼了我的独立思考能力。我相信通过本次实验,我可以更好的使用SQL数据库来制作一些其他系统,能进一步学习和使用SQL数据库。由于这是我第五次进行制作,部分的掌握。但水平和经验限制了系统的功能。一些图书管理应有的功能暂时无法实现,需要更加完善。相信在这次实验之后我可以对图书管理系统有进一步的学习和研究,已得到更好的发展。本次课程设计是经过老师的耐心讲述及指导才能顺利完成的。虽然课程设计只有几个星期的时间,但是平时老师的指导给本次课程设计奠定了良好的基础,我
26、能基本完成本次设计中的部分制作。即使在设计过程中遇到了一些问题,翟老师依然认真的辅导,帮助我解决了设计中的各种困难。在课程设计时,翟老师给予了我细心的讲解和辅导,使得课程设计能顺利、按时的完成,并让我在学习上有了更进一步的提高。参考文献1.郑阿奇.SQL Server教程.清华大学出版社2.银华强.visual Basic经典开发案例.中国铁道出版社3 龚沛增.Visual Basic.程序设计教程清华大学出版社4张志宏.SQL Server数据库开发经典案例解析.清华大学出版社5 周治平.ADO数据存取技术.江南出版社6 甘仞初.信息系统开发.北京经济科学出版社7黄梯云.管理信息系统导论.机械工业出版社8 刘胜军.SQL SERVER 2000开发与应用.机械工业出版社9 伍俊良.管理信息系统(MIS)开发与应用.北京科学出版社10 王运坚.VISUAL BASIC 6.0 应用指南.人民邮电出版社11 姚小兵.VB中ADO技术的应用.杭州出版社 12岂兴明.Visual Basic.SQL项目开发宝典.电子工业出版社
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1