1、数据库原理及应用课程设计设 计 说 明 书图书管理系统的开发学 生 姓 名 邵 旭 东学 号 0721024012班 级 信 管 071成 绩指 导 教 师 陈 波计算机科学与技术系2009 年 12 月 25 日数据库原理及应用课程设计评阅书题 目 图书管理系统的开发学生姓名 邵旭东 学号 0721024012指导教师评语及成绩成绩: 教师签名: 年 月 日答辩教师评语及成绩成绩: 教师签名: 年 月 日教研室意见总成绩: 室主任签名: 年 月 日注:指导教师成绩 60%,答辩成绩 40%,总成绩合成后按五级制记入课程设计任务书2009 2010 学年第一学期专业: 信管 071 学号: 0
2、721024012 姓名: 邵旭东 课程设计名称: 数据库原理及应用课程设计 设计题目: 图书管理系统的开发 完成期限:自 2009 年 12 月 14 日至 2009 年 12 月 25 日共 2 周设计依据、要求及主要内容(可另加附页):实验要求:图书编号可参考国家统一的图书编码方法,再完成基本功能模块的情况下,尽量使系统能具有通用性。图书管理系统主要涉及的数据表有图书基本信息表,借书卡信息表,借阅信息表,图书分类信息表等等。主要功能模块有:1) 图书基本情况的录入、修改、删除等基本操作。2) 办理借书卡模块。3) 实现借书功能。4) 实现还书功能。5) 能方便的对图书进行查询。6) 对超
3、期的情况能自动给出提示信息。7) 具有数据备份和数据恢复功能指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日陕西理工学院数据库课程设计说明书1摘 要设计了一个图书管理系统,本系统分为两个端口,分别为用户操作端和管理员操作段。主要实现了以下功能:1.图书基本情况的录入、修改、删除等基本操作。2.办理借书卡。3.实现借书功能。4.实现还书功能。5.对图书进行查询。6.对超期的情况自动给出提示信息。主要采用了采用 SQL Server 2005 和 Visual Studio2005 WinForm 技术实现,界面清楚,操作简单。关键字:图书管理系统;SQL Server 2005;
4、WinForm目 录1 课题描述 11.1 课题 介绍 .11.2 相关 技术介绍 .12概念 结构 .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参考文献 .19陕西理工学院数据库课程设计说明书11.课题描述1.1 课题介绍设计了
5、一个图书管理系统,本系统是由用户使用的图书查询、个人密码修改和后台管理员使用的用户管理、图书管理、借阅管理系统等组成的。一个图书管理系统应该提供如下功能: 注册用户的管理包括普通用户注册、管理员注册、个人资料修改、过期用户的删除等功能。要求系统根据用户的级别使用户拥有不同的权限,可以实现用户数据库的增加、查询和修改等功能。书籍分类的增加、查询和修改功能。所有的书籍都可以按照一定的方式实现分类。每个分类中的图书都应该可以在这个系统中进行图书的增加、修改或者删除。注册用户可以查询图书馆图书的信息。管理员能够管理图书管里的书籍,包括图书信息的录入、错误图书信息的修改以及过期图书信息的删除等。图书查询
6、、用户改密当用户借阅图书以后之后,生成一张借阅表表,用户可以查阅自己借阅图书的信息,以及图书的到期时间。用户和管理员可以修改自己的密码,以增强该系统的安全性。1.2 相关技术介绍 WinFormWinForm 是 .Net 开 发 平 台 中 对 Windows Form 的 一 种 称 谓 。 .Net 为 开 发 WinForm 的应用程序提供了丰富的 Class Library( 类 库 ) 。 这 些 WinFrom 类 库 支 持 RAD(快 速 应 用 程 序开 发 ), 这 些 类 库 被 封 装 在 一 个 名 称 空 间 之 中 , 这 个 名 称 空 间 就 是System
7、.Windows.Forms。 在 此 名 称 空 间 中 定 义 了 许 多 类 , 在 开 发 基 于 .Net 的 GUI 应 用 程序 的 时 候 , 就 是 通 过 继 承 和 扩 展 这 些 类 才 使 得 我 们 的 程 序 有 着 多 样 的 用 户 界 面 。 2. SQL Server2005SQL Server 2005 是 一 个 全 面 的 数 据 库 平 台 , 使 用 集 成 的 商 业 智 能 (BI) 工 具 提 供 了企 业 级 的 数 据 管 理 。 SQL Server 2005 数 据 库 引 擎 为 关 系 型 数 据 和 结 构 化 数 据 提 供
8、 了 更 安 全可 靠 的 存 储 功 能 , 使 您 可 以 构 建 和 管 理 用 于 业 务 的 高 可 用 和 高 性 能 的 数 据 应 用 程 序 。SQL Server 2005 数 据 引 擎 是 本 企 业 数 据 管 理 解 决 方 案 的 核 心 。 此 外 SQL Server 2005 结 合 了 分 析 、 报 表 、 集 成 和 通 知 功 能 。 这 使 您 的 企 业 可 以 构 建 和 部 署 经 济 有 效 的 BI 解 决 方 案 , 帮 助 您 的 团 队 通 过 记 分 卡 、 Dashboard、 Web services 和 移 动 设 备 将
9、数 据 应 用推 向 业 务 的 各 个 领 域 。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。邵旭东:图书管理系统22概念结构2.1 数据流图图书管理系统业务流程图如图 2.1 所示图 2.1 图书管理系统业务流程图图书管理系统基本模型
10、如图 2.2 所示图 2.2 图书管理系统基本模型图图书管理系统数据流图如图 2.3 所示图 2.3 图书管理系统数据流图陕西理工学院数据库课程设计说明书32.2 图书管理系统的主要数据字典a)图书信息b)借阅信息c)用户信息d)管理员信息邵旭东:图书管理系统42.3 实体图实体关系图:简记 E-R 图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式BOOKbookIdbookPrice bookPub ISBNbookWritterbookName图 2.3 图书信息实体图UseruserIduserTel userPwd userNameuserEmai
11、luserSexuserAge图 2.4 用户信息实体图borrowuserIdbookId borrowDate图 2.5 借阅信息实体图陕西理工学院数据库课程设计说明书52.4 系统 E-R 图系统 E-R 如图 2.9 所示图 2.9 系统 E-R 图邵旭东:图书管理系统63逻辑结构设计1)关系模型:管理员(用户名,登录密码)图书(图书分类号,ISBN,图书名,作者,出版社, 价格)用户(编号,登录密码,姓名,性别,联系电话,年龄, Email, )借阅(图书编号,顾客编号,管理员编号,借阅日期,归还时间,是否超期)2)功能结构图如图 3.2 所示图 3.2 图书管理销售系统功能图4物理
12、结构设计建立图书表如下图 4.1 所示: 图书表 图 4.1建立用户表如下图 4.2 所示:用户表 图 4.2陕西理工学院数据库课程设计说明书7建立借阅表如下图 4.3 所示:建立管理员表如下图 4.4 所示:借阅表 4.3 管理员表 4.45 实现设计5.1 软件系统的模块结构图系统的模块结构如图 5.1 所示图 5.1 软件系统的模块结构图5.2 软件系统主控程序的程序流程图主控程序流程图如图 5.2 所示邵旭东:图书管理系统8图 5.2 软件系统的程序流程图6.程序运行结果6.1.管理员登录陕西理工学院数据库课程设计说明书9在登录界面可以选择登录权限,如普通用户、管理员,以下为管理员登录
13、的代码及效果图:图 4.1CREATE PROC dbo.pro_AdminEnteruserName nvarchar(20),userPwd nvarchar(6),message nvarchar(100) OUTPUTasDECLARE count intBEGINSELECT count=count(*) from TB_administrator where admin=userNameif(count0)SET message=登录成功 else SET message=密码错误END6.2.图书管理界面管理员登录进去之后,进入图书管理界面,关键代码以及效果图下图所示:邵旭东:图
14、书管理系统10图 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 intBEGINselect SUM=count(*) from TB_book where bookId = bookIdif(SUM0)SET messa
15、ge=此书已存在 else BEGIN陕西理工学院数据库课程设计说明书11Insert 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 mon
16、ey,message nvarchar(100) outputasdeclare sum intBEGINSELECT sum=count(*) from TB_bookwhere bookId=bookIdIF (sum 图书信息删除,代码如下所示CREATE PROC dbo.pro_deletebookId nvarchar(20),message nvarchar(100) OUTPUT邵旭东:图书管理系统12ASDECLARE sum intDECLARE ERROR INTBEGINSELECT sum=count(*) from TB_bookWHERE bookId=bookI
17、d if(sum 图书借阅,代码如下所示create proc dbo.pro_borrowuserId varchar(20),bookId varchar(20),message varchar(100) outputasbegindeclare sum intdeclare books intdeclare borrowdate varchar(20)declare num intselect num=count(*) from TB_user where userId=userIdIF (NUM4)set message = 您借阅的书已超过 4 本,不能再借elsebeginsele
18、ct sum = count(*) from TB_borrow where bookId = bookIdif (sum 还书功能,代码如下所示CREATE PROC dbo.pro_backbookId nvarchar(20),message nvarchar(100) outputasBEGINDECLARE sum intSELECT sum=count(*) from TB_borrowwhere bookId=bookIdif(sum用户信息添加,代码如下图所示CREATE PROC dbo.pro_userInsertuserId nvarchar(20),userName n
19、varchar(10),userSex nvarchar(2),userAge int,userEmail nvarchar(20),userTel nvarchar(15),message nvarchar(100) OUTPUTasDECLARE Num intBEGINIF(userAge 80)BEGINSET message = 年龄不符合条件 returnENDELSE陕西理工学院数据库课程设计说明书15BEGINselect Num=count(*) from TB_userwhere UserId=userId or userName=userNameif (Num0)SET
20、message=此用户已存在 elseBEGINinsert into TB_user values(userId,userName,userSex,userAge,userEmail,userTel,DEFAULT)SET message=插入成功 ENDENDEND用户信息修改,代码如下图所示:CRETAE PROC dbo.pro_userUpdateuserId nvarchar(20),userName nvarchar(10),userSex nvarchar(2),userAge int,userEmail nvarchar(20),userTel nvarchar(15),me
21、ssage nvarchar(100) OUTPUTasdeclare sum intBEGINSELECT sum=count(*) from TB_user where userId=userIdif(sum 用户信息删除,代码如下图所示邵旭东:图书管理系统16CREATE PROC dbo.pro_userDeleteuserId nvarchar(10),message nvarchar(100) OUTPUTASDECLARE sum intBEGINselect sum=count(*) from TB_userwhere userId=userId if(sum1)SET mes
22、sage=此用户不存在 else delete from TB_borrow where userId=userIdbeginDELETE FROM TB_user where userId=userId SET message=删除成功 endEND6.4.密码修改界面修改界面以及部分重要代码如下所示图 4.56.5.退出系统退出系统代码如下所示using System;using System.Collections.Generic;using System.Text;陕西理工学院数据库课程设计说明书17using System.Windows.Forms;namespace Librar
23、ypublic static class CloseFormpublic static bool flag = false;public static void CloseingForm(Object sender, FormClosingEventArgs e)if (flag = false)DialogResult rs = MessageBox.Show(“您确定要退出系统?“, “系统询问“, MessageBoxButtons.YesNo, MessageBoxIcon.Question);if (rs = DialogResult.Yes)flag = true;Applicat
24、ion.Exit();elsee.Cancel = true;邵旭东:图书管理系统18总 结本次课程设计是在陈波老师的悉心指导和热心帮助下完成的,陈老师认真负责的工作态度,严谨的教学精神和深厚的理论水平都使我受益匪浅。并且在系统的设计开发过程中,注重了科学的软件设计思路。首先在总体设计上,采用了模块化和分层的设计思想,使整个系统流程清晰、逻辑合理,为系统的实现创造了良好的条件。另外,在安全性上,数据库采用 SQL Server 数据库加密和用户密码加密,使系统更安全。通过这次课程设计,我对数据库的设计更全面的了解和掌握,将所学的知识运用到实践当中。数据库设计分为三个阶段,分别是:收集和分析用户
25、要求、建立 E R 模型和数据库模式设计。主要任务是创建数据库模式。数据库逻辑设计中的第一阶段收集和分析用户需求是按以下四步进行的:分析用户活动,确定系统范围,分析用户活动所涉及的数据和分析系统数据。数据流图是一种从数据和对数据的加工两方面表达系统工作过程的图形表示法。含有四种基本成分:带箭头的线段表示数据及其流动方向,圆形框表示对数据的加工,卡片形框表示文件,方框表示源点和终点。画数据流图应遵循:由外向内、自顶向下原则进行。陕西理工学院数据库课程设计说明书19参考文献1 苗雪兰,刘瑞新,宋歌数据库系统原理及应用教程(第三版)M机械工业出版社,20082 陈明. 软件工程M. 北京:中央广播电视大学出版, 2001 3 王利. 数据库基础与应用M. 北京:中央广播电视大学出版社,2002.4 4 张海藩软件工程导论M北京:清华大学出版社,2003 5 萨师煊, 王珊数据库系统概论M 北京:高等教育出版社,20036 薛华成管理信息系统(第四版)M北京:清华大学出版社,2004