1、陕西理工学院数据库课程设计说明书数据库原理及应用课程设计设计说明书图书管理系统的开发学生姓名邵旭东学号0721024012班级信管071成绩指导教师陈 波计算机科学与技术系2009年12月25日19数据库原理及应用课程设计评阅书题 目图书管理系统的开发学生姓名邵旭东学号0721024012指导教师评语及成绩成绩: 教师签名: 年 月 日答辩教师评语及成绩成绩: 教师签名: 年 月 日教研室意见总成绩: 室主任签名: 年 月 日注:指导教师成绩60%,答辩成绩40%,总成绩合成后按五级制记入 课程设计任务书2009 2010 学年第一学期专业: 信管071 学号: 0721024012 姓名:
2、邵旭东 课程设计名称: 数据库原理及应用课程设计 设计题目: 图书管理系统的开发 完成期限:自 2009年 12 月14 日至 2009 年 12 月 25 日共 2 周设计依据、要求及主要内容(可另加附页):实验要求:图书编号可参考国家统一的图书编码方法,再完成基本功能模块的情况下,尽量使系统能具有通用性。图书管理系统主要涉及的数据表有图书基本信息表,借书卡信息表,借阅信息表,图书分类信息表等等。主要功能模块有:1) 图书基本情况的录入、修改、删除等基本操作。2) 办理借书卡模块。3) 实现借书功能。4) 实现还书功能。5) 能方便的对图书进行查询。6) 对超期的情况能自动给出提示信息。7)
3、 具有数据备份和数据恢复功能 指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日摘 要设计了一个图书管理系统,本系统分为两个端口,分别为用户操作端和管理员操作段。主要实现了以下功能:1.图书基本情况的录入、修改、删除等基本操作。2.办理借书卡。3.实现借书功能。4.实现还书功能。5.对图书进行查询。6.对超期的情况自动给出提示信息。主要采用了采用SQL Server 2005和Visual Studio2005 WinForm技术实现,界面清楚,操作简单。关键字:图书管理系统;SQL Server 2005;WinForm 目 录1课题描述11.1课题介绍11.2相关技术介绍12
4、概念结构22.1数据流图22.2书店销售系统的主要数据字典32.3实体图42.4系统E-R图53逻辑结构设计64物理结构设计65. 实现设计75.1软件系统的模块结构图75.2软件系统主控程序的程序流程图86. 程序运行结果86.1管理员登陆86.2图书管理界面106.3用户管理界面146.4密码修改界面176.5退出系统18总结18参考文献191.课题描述1.1课题介绍设计了一个图书管理系统,本系统是由用户使用的图书查询、个人密码修改和后台管理员使用的用户管理、图书管理、借阅管理系统等组成的。一个图书管理系统应该提供如下功能: 注册用户的管理包括普通用户注册、管理员注册、个人资料修改、过期用
5、户的删除等功能。要求系统根据用户的级别使用户拥有不同的权限,可以实现用户数据库的增加、查询和修改等功能。书籍分类的增加、查询和修改功能。所有的书籍都可以按照一定的方式实现分类。每个分类中的图书都应该可以在这个系统中进行图书的增加、修改或者删除。注册用户可以查询图书馆图书的信息。管理员能够管理图书管里的书籍,包括图书信息的录入、错误图书信息的修改以及过期图书信息的删除等。图书查询、用户改密当用户借阅图书以后之后,生成一张借阅表表,用户可以查阅自己借阅图书的信息,以及图书的到期时间。用户和管理员可以修改自己的密码,以增强该系统的安全性。1.2相关技术介绍 WinFormWinForm是.Net开发
6、平台中对Windows Form的一种称谓。.Net 为开发WinForm的应用程序提供了丰富的Class Library(类库)。这些WinFrom 类库支持RAD(快速应用程序开发),这些类库被封装在一个名称空间之中,这个名称空间就是System.Windows.Forms。在此名称空间中定义了许多类,在开发基于.Net的GUI应用程序的时候,就是通过继承和扩展这些类才使得我们的程序有着多样的用户界面。 2. SQL Server2005SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引
7、擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Devel
8、opment Studio)的紧密集成使 SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。2概念结构2.1数据流图图书管理系统业务流程图如图2.1所示图2.1图书管理系统业务流程图图书管理系统基本模型如图2.2所示图2.2图书管理系统基本模型图图书管理系统数据流图如图2.3所示图2.3图书管理系统数据流图2.2图书管理系统的主要数据字典a)图书信息b)借阅信息c)用户信息d)管理员信息2.3实体图实体关系图:简记E-R图是指以实体、关系、属性三个基本概念概括数
9、据的基本结构,从而描述静态数据结构的概念模式BOOKbookIdbookPrice bookPubISBNbookWritterbookName图2.3图书信息实体图UseruserIduserTel userPwduserNameuserEmailuserSexuserAge 图2.4用户信息实体图borrowuserIdbookIdborrowDate图2.5借阅信息实体图2.4系统E-R图系统E-R如图2.9所示图2.9 系统E-R图3逻辑结构设计1)关系模型:管理员(用户名,登录密码)图书(图书分类号,ISBN,图书名,作者,出版社, 价格)用户(编号,登录密码,姓名,性别,联系电话,
10、年龄, Email,)借阅(图书编号,顾客编号,管理员编号,借阅日期,归还时间,是否超期)2)功能结构图如图3.2所示图3.2 图书管理销售系统功能图4物理结构设计建立图书表如下图4.1所示: 图书表 图4.1建立用户表如下图4.2所示:用户表 图4.2 建立借阅表如下图4.3所示:建立管理员表如下图4.4所示: 借阅表 4.3 管理员表 4.4 5实现设计5.1软件系统的模块结构图系统的模块结构如图5.1所示图5.1 软件系统的模块结构图5.2软件系统主控程序的程序流程图主控程序流程图如图5.2所示图5.2软件系统的程序流程图6.程序运行结果6.1.管理员登录在登录界面可以选择登录权限,如普
11、通用户、管理员,以下为管理员登录的代码及效果图:图4.1CREATE PROC dbo.pro_AdminEnteruserName nvarchar(20),userPwd nvarchar(6),message nvarchar(100) OUTPUTasDECLARE count intBEGIN SELECT count=count(*) from TB_administrator where admin=userName if(count0) SET message=登录成功 else SET message=密码错误END6.2.图书管理界面管理员登录进去之后,进入图书管理界面,关
12、键代码以及效果图下图所示: 图4.2图书信息录入,代码及图书信息如下所示CREATE PROC dbo.pro_insertbookId nvarchar(20),ISBN nvarchar(40),bookName nvarchar(50),bookWritter nvarchar(30),bookPub nvarchar(50),bookPrice money, message nvarchar(100) OUTPUTasDECLARE SUM intBEGIN select SUM=count(*) from TB_book where bookId = bookId if(SUM0)
13、SET message=此书已存在 else BEGINInsert Into TB_book values(bookId,ISBN,bookName,bookWritter,bookPub,bookPrice)SET message=插入成功ENDEND 图4.3 图书信息修改,代码如下所示create proc dbo.pro_updatebookId nvarchar(20),ISBN nvarchar(40),bookName nvarchar(50),bookWritter nvarchar(30),bookPub nvarchar(50),bookPrice money,messa
14、ge nvarchar(100) outputasdeclare sum intBEGINSELECT sum=count(*) from TB_book where bookId=bookIdIF (sum1)BEGINSET message=次数不存在ENDELSEBEGINUPDATE TB_book SET bookId=bookId,ISBN=ISBN,bookName=bookName,bookWritter=bookWritter,bookPub=bookPub,bookPrice=bookPrice where bookId=bookIdSET message=修改成功ENDE
15、ND 图书信息删除,代码如下所示CREATE PROC dbo.pro_deletebookId nvarchar(20),message nvarchar(100) OUTPUTASDECLARE sum intDECLARE ERROR INTBEGINSELECT sum=count(*) from TB_book WHERE bookId=bookId if(sum1)SET message=此书不存在 ELSE DELETE TB_borrow where bookId=bookId BEGINDELETE FROM TB_book where bookId=bookId SET m
16、essage=删除成功END END 图书借阅,代码如下所示create proc dbo.pro_borrowuserId varchar(20),bookId varchar(20),message varchar(100) outputasbegin declare sum int declare books int declare borrowdate varchar(20) declare num int select num=count(*) from TB_user where userId=userIdIF (NUM4)set message = 您借阅的书已超过4本,不能再借
17、elsebeginselect sum = count(*) from TB_borrow where bookId = bookIdif (sum 1) begin set borrowdate =getdate() insert into TB_borrow values(userId,bookId,borrowdate) set message = 借书成功 end else set message = 次数已被借 endendend 还书功能,代码如下所示CREATE PROC dbo.pro_backbookId nvarchar(20),message nvarchar(100)
18、outputasBEGINDECLARE sum intSELECT sum=count(*) from TB_borrowwhere bookId=bookIdif(sum1) BEGINSET message=此书未被借ENDELSEBEGINDELETE FROM TB_borrow where bookId=bookIdSET message=还书成功ENDEND6.3.用户管理界面用户管理界面及部分代码如下图所示: 图4.4用户信息添加,代码如下图所示CREATE PROC dbo.pro_userInsertuserId nvarchar(20),userName nvarchar
19、(10),userSex nvarchar(2),userAge int,userEmail nvarchar(20),userTel nvarchar(15),message nvarchar(100) OUTPUTasDECLARE Num intBEGIN IF(userAge 80)BEGINSET message = 年龄不符合条件returnEND ELSEBEGIN select Num=count(*) from TB_user where UserId=userId or userName=userName if (Num0)SET message=此用户已存在 elseBE
20、GINinsert into TB_user values(userId,userName,userSex,userAge,userEmail,userTel,DEFAULT)SET message=插入成功END ENDEND 用户信息修改,代码如下图所示:CRETAE PROC dbo.pro_userUpdateuserId nvarchar(20),userName nvarchar(10),userSex nvarchar(2),userAge int,userEmail nvarchar(20),userTel nvarchar(15),message nvarchar(100)
21、OUTPUTasdeclare sum intBEGINSELECT sum=count(*) from TB_user where userId=userId if(sum1) BEGINSET message=此用户不存在ENDelseBEGINUPDATE TB_user SET userName=userName,userSex=userSex,userAge=userAge,userEmail=userEmail,userTel=userTel where userId=userIdSET message=修改成功ENDEND 用户信息删除,代码如下图所示CREATE PROC db
22、o.pro_userDeleteuserId nvarchar(10),message nvarchar(100) OUTPUTASDECLARE sum intBEGINselect sum=count(*) from TB_user where userId=userId if(sum1) SET message=此用户不存在 else delete from TB_borrow where userId=userId beginDELETE FROM TB_user where userId=userId SET message=删除成功 endEND6.4.密码修改界面修改界面以及部分
23、重要代码如下所示 图4.56.5.退出系统退出系统代码如下所示using System;using System.Collections.Generic;using System.Text;using System.Windows.Forms;namespace Library public static class CloseForm public static bool flag = false; public static void CloseingForm(Object sender, FormClosingEventArgs e) if (flag = false) DialogRe
24、sult rs = MessageBox.Show(您确定要退出系统?, 系统询问, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (rs = DialogResult.Yes) flag = true; Application.Exit(); else e.Cancel = true; 总 结本次课程设计是在陈波老师的悉心指导和热心帮助下完成的,陈老师认真负责的工作态度,严谨的教学精神和深厚的理论水平都使我受益匪浅。并且在系统的设计开发过程中,注重了科学的软件设计思路。首先在总体设计上,采用了模块化和分层的设计思想,使整个系统流程
25、清晰、逻辑合理,为系统的实现创造了良好的条件。另外,在安全性上,数据库采用SQL Server数据库加密和用户密码加密,使系统更安全。通过这次课程设计,我对数据库的设计更全面的了解和掌握,将所学的知识运用到实践当中。数据库设计分为三个阶段,分别是:收集和分析用户要求、建立E R模型和数据库模式设计。主要任务是创建数据库模式。数据库逻辑设计中的第一阶段收集和分析用户需求是按以下四步进行的:分析用户活动,确定系统范围,分析用户活动所涉及的数据和分析系统数据。数据流图是一种从数据和对数据的加工两方面表达系统工作过程的图形表示法。含有四种基本成分:带箭头的线段表示数据及其流动方向,圆形框表示对数据的加
26、工,卡片形框表示文件,方框表示源点和终点。画数据流图应遵循:由外向内、自顶向下原则进行。参考文献1 苗雪兰,刘瑞新,宋歌数据库系统原理及应用教程(第三版)M机械工业出版社,20082 陈明. 软件工程M. 北京:中央广播电视大学出版, 2001 3 王利. 数据库基础与应用M. 北京:中央广播电视大学出版社,2002.4 4 张海藩软件工程导论M北京:清华大学出版社,2003 5 萨师煊, 王珊数据库系统概论M 北京:高等教育出版社,20036 薛华成管理信息系统(第四版)M北京:清华大学出版社,2004其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护知
27、识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。二培训的及要求培训目的安全生产目标责任书为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部签订如下安全生产目标:一、目标值:1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。2、现金安全保管,不发生盗窃事故。3、每月足额提取安全生产费用,保障安全生产投入资金的到位。4、安全培训合格率为100%。二、本单位安全工作上必须做到以下内容: 1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职责
28、,确保安全责任制在本单位全面落实,并全力支持安全工作。 2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。 3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。 4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。 5、在公司及政府的安全检查中杜绝各类违章现象。 6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。 7、以身作则,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。 8、虚心接受员工提出的问题,杜绝不接受或盲目指挥;9、发生事故,应立即报告主管领导,按照“四不放过”的原则召开事故分析会,提出整改措施和对责任者的处理意见,并填写事故登记表,严禁隐瞒不报或降低对责任者的处罚标准。 10、必须按规定对单位员工进行培训和新员工上岗教育;11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。 三、 安全奖惩: 1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实现安全目标的按照公司规定进行处罚。 2、每月接受主管领导指派人员对安全生产责任状的落