资源描述
陕西理工学院数据库课程设计说明书
数据库原理及应用课程设计
设计说明书
图书管理系统的开发
学生姓名
邵旭东
学号
0721024012
班级
信管071
成绩
指导教师
陈 波
计算机科学与技术系
2009年12月25日
19
数据库原理及应用课程设计评阅书
题 目
图书管理系统的开发
学生姓名
邵旭东
学号
0721024012
指导教师评语及成绩
成绩: 教师签名: 年 月 日
答辩教师评语及成绩
成绩: 教师签名: 年 月 日
教研室意见
总成绩: 室主任签名: 年 月 日
注:指导教师成绩60%,答辩成绩40%,总成绩合成后按五级制记入
课程设计任务书
2009 —2010 学年第一学期
专业: 信管071 学号: 0721024012 姓名: 邵旭东
课程设计名称: 数据库原理及应用课程设计
设计题目: 图书管理系统的开发
完成期限:自 2009年 12 月14 日至 2009 年 12 月 25 日共 2 周
设计依据、要求及主要内容(可另加附页):
实验要求:
图书编号可参考国家统一的图书编码方法,再完成基本功能模块的情况下,尽量使系统能具有通用性。
图书管理系统主要涉及的数据表有图书基本信息表,借书卡信息表,借阅信息表,图书分类信息表等等。主要功能模块有:
1) 图书基本情况的录入、修改、删除等基本操作。
2) 办理借书卡模块。
3) 实现借书功能。
4) 实现还书功能。
5) 能方便的对图书进行查询。
6) 对超期的情况能自动给出提示信息。
7) 具有数据备份和数据恢复功能
指导教师(签字): 教研室主任(签字):
批准日期: 年 月 日
摘 要
设计了一个图书管理系统,本系统分为两个端口,分别为用户操作端和管理员操作段。主要实现了以下功能:
1.图书基本情况的录入、修改、删除等基本操作。
2.办理借书卡。
3.实现借书功能。
4.实现还书功能。
5.对图书进行查询。
6.对超期的情况自动给出提示信息。
主要采用了采用SQL Server 2005和Visual Studio2005 WinForm技术实现,界面清楚,操作简单。
关键字:图书管理系统;SQL Server 2005;WinForm
目 录
1课题描述 1
1.1课题介绍 1
1.2相关技术介绍 1
2.概念结构 2
2.1数据流图 2
2.2书店销售系统的主要数据字典 3
2.3实体图 4
2.4系统E-R图 5
3.逻辑结构设计 6
4.物理结构设计 6
5. 实现设计 7
5.1软件系统的模块结构图 7
5.2软件系统主控程序的程序流程图 8
6. 程序运行结果 8
6.1管理员登陆 8
6.2图书管理界面 10
6.3用户管理界面 14
6.4密码修改界面 17
6.5退出系统 18
总结 18
参考文献 19
1.课题描述
1.1课题介绍
设计了一个图书管理系统,本系统是由用户使用的图书查询、个人密码修改和后台管理员使用的用户管理、图书管理、借阅管理系统等组成的。
一个图书管理系统应该提供如下功能:
①注册用户的管理
包括普通用户注册、管理员注册、个人资料修改、过期用户的删除等功能。要求系统根据用户的级别使用户拥有不同的权限,可以实现用户数据库的增加、查询和修改等功能。
②书籍分类的增加、查询和修改功能。
所有的书籍都可以按照一定的方式实现分类。每个分类中的图书都应该可以在这个系统中进行图书的增加、修改或者删除。注册用户可以查询图书馆图书的信息。管理员能够管理图书管里的书籍,包括图书信息的录入、错误图书信息的修改以及过期图书信息的删除等。
③图书查询、用户改密
当用户借阅图书以后之后,生成一张借阅表表,用户可以查阅自己借阅图书的信息,以及图书的到期时间。用户和管理员可以修改自己的密码,以增强该系统的安全性。
1.2相关技术介绍
Ø WinForm
WinForm是.Net开发平台中对Windows Form的一种称谓。.Net 为开发WinForm的应用程序提供了丰富的Class Library(类库)。这些WinFrom 类库支持RAD(快速应用程序开发),这些类库被封装在一个名称空间之中,这个名称空间就是System.Windows.Forms。在此名称空间中定义了许多类,在开发基于.Net的GUI应用程序的时候,就是通过继承和扩展这些类才使得我们的程序有着多样的用户界面。
Ø 2. SQL Server2005
SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。
与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development 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图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式
BOOK
bookId
bookPrice
bookPub
ISBN
bookWritter
bookName
图2.3图书信息实体图
User
userId
userTel
userPwd
userName
userEmail
userSex
userAge
图2.4用户信息实体图
borrow
userId
bookId
borrowDate
图2.5借阅信息实体图
2.4系统E-R图
系统E-R如图2.9所示
图2.9 系统E-R图
3.逻辑结构设计
1)关系模型:
管理员(用户名,登录密码)
图书(图书分类号,ISBN,图书名,作者,出版社, 价格)
用户(编号,登录密码,姓名,性别,联系电话,年龄, 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.管理员登录
在登录界面可以选择登录权限,如普通用户、管理员,以下为管理员登录的代码及效果图:
图4.1
CREATE PROC [dbo].[pro_AdminEnter]
@userName nvarchar(20),
@userPwd nvarchar(6),
@message nvarchar(100) OUTPUT
as
DECLARE @count int
BEGIN
SELECT @count=count(*) from TB_administrator where admin=@userName
if(@count<1)
SET @message='用户不存在!'
else
select @count=count(*) from TB_administrator where admin=@userName and adminPwd=@userPwd
if (@count >0)
SET @message='登录成功'
else SET @message='密码错误'
END
6.2.图书管理界面
管理员登录进去之后,进入图书管理界面,关键代码以及效果图下图所示:
图4.2
<1>图书信息录入,代码及图书信息如下所示
CREATE PROC [dbo].[pro_insert]
@bookId nvarchar(20),
@ISBN nvarchar(40),
@bookName nvarchar(50),
@bookWritter nvarchar(30),
@bookPub nvarchar(50),
@bookPrice money,
@message nvarchar(100) OUTPUT
as
DECLARE @SUM int
BEGIN
select @SUM=count(*) from TB_book where bookId = @bookId
if(@SUM>0)
SET @message='此书已存在'
else
BEGIN
Insert Into TB_book values(@bookId,@ISBN,@bookName,@bookWritter,@bookPub,@bookPrice)
SET @message='插入成功'
END
END
图4.3
<2> 图书信息修改,代码如下所示
create proc [dbo].[pro_update]
@bookId nvarchar(20),
@ISBN nvarchar(40),
@bookName nvarchar(50),
@bookWritter nvarchar(30),
@bookPub nvarchar(50),
@bookPrice money,
@message nvarchar(100) output
as
declare @sum int
BEGIN
SELECT @sum=count(*) from TB_book
where bookId=@bookId
IF (@sum<1)
BEGIN
SET @message='次数不存在'
END
ELSE
BEGIN
UPDATE TB_book SET bookId=@bookId,ISBN=@ISBN,bookName=@bookName,bookWritter=@bookWritter,bookPub=@bookPub,bookPrice=@bookPrice
where bookId=@bookId
SET @message='修改成功'
END
END
<3> 图书信息删除,代码如下所示
CREATE PROC [dbo].[pro_delete]
@bookId nvarchar(20),
@message nvarchar(100) OUTPUT
AS
DECLARE @sum int
DECLARE @ERROR INT
BEGIN
SELECT @sum=count(*) from TB_book
WHERE bookId=@bookId
if(@sum<1)
SET @message='此书不存在'
ELSE DELETE TB_borrow where bookId=@bookId
BEGIN
DELETE FROM TB_book where bookId=@bookId
SET @message='删除成功'
END
END
<4> 图书借阅,代码如下所示
create proc [dbo].[pro_borrow]
@userId varchar(20),
@bookId varchar(20),
@message varchar(100) output
as
begin
declare @sum int
declare @books int
declare @borrowdate varchar(20)
declare @num int
select @num=count(*) from TB_user where userId=@userId
IF (@NUM<1)
BEGIN
SET @MESSAGE='此用户不存在'
END
else
BEGIN
select @books = count(*) from TB_borrow where userId=@userId
if(@books>4)
set @message = '您借阅的书已超过4本,不能再借'
else
begin
select @sum = count(*) from TB_borrow where bookId = @bookId
if (@sum < 1)
begin
set @borrowdate =getdate()
insert into TB_borrow values(@userId,@bookId,@borrowdate)
set @message = '借书成功'
end
else
set @message = '次数已被借'
end
end
end
<5> 还书功能,代码如下所示
CREATE PROC [dbo].[pro_back]
@bookId nvarchar(20),
@message nvarchar(100) output
as
BEGIN
DECLARE @sum int
SELECT @sum=count(*) from TB_borrow
where bookId=@bookId
if(@sum<1)
BEGIN
SET @message='此书未被借'
END
ELSE
BEGIN
DELETE FROM TB_borrow where bookId=@bookId
SET @message='还书成功'
END
END
6.3.用户管理界面
用户管理界面及部分代码如下图所示:
图4.4
<1>用户信息添加,代码如下图所示
CREATE PROC [dbo].[pro_userInsert]
@userId nvarchar(20),
@userName nvarchar(10),
@userSex nvarchar(2),
@userAge int,
@userEmail nvarchar(20),
@userTel nvarchar(15),
@message nvarchar(100) OUTPUT
as
DECLARE @Num int
BEGIN
IF(@userAge < 18 OR @userAge > 80)
BEGIN
SET @message = '年龄不符合条件'
return
END
ELSE
BEGIN
select @Num=count(*) from TB_user
where UserId=@userId or userName=@userName
if (@Num>0)
SET @message='此用户已存在'
else
BEGIN
insert into TB_user values(@userId,@userName,@userSex,@userAge,@userEmail,@userTel,DEFAULT)
SET @message='插入成功'
END
END
END
<2> 用户信息修改,代码如下图所示:
CRETAE PROC [dbo].[pro_userUpdate]
@userId nvarchar(20),
@userName nvarchar(10),
@userSex nvarchar(2),
@userAge int,
@userEmail nvarchar(20),
@userTel nvarchar(15),
@message nvarchar(100) OUTPUT
as
declare @sum int
BEGIN
SELECT @sum=count(*) from TB_user where userId=@userId
if(@sum<1)
BEGIN
SET @message='此用户不存在'
END
else
BEGIN
UPDATE TB_user
SET userName=@userName,userSex=@userSex,userAge=@userAge,userEmail=@userEmail,userTel=@userTel
where userId=@userId
SET @message='修改成功'
END
END
<3> 用户信息删除,代码如下图所示
CREATE PROC [dbo].[pro_userDelete]
@userId nvarchar(10),
@message nvarchar(100) OUTPUT
AS
DECLARE @sum int
BEGIN
select @sum=count(*) from TB_user
where userId=@userId
if(@sum<1)
SET @message='此用户不存在'
else
delete from TB_borrow where userId=@userId
begin
DELETE FROM TB_user where userId=@userId
SET @message='删除成功'
end
END
6.4.密码修改界面
修改界面以及部分重要代码如下所示
图4.5
6.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)
{
DialogResult rs = MessageBox.Show("您确定要退出系统?", "系统询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (rs == DialogResult.Yes)
{
flag = true;
Application.Exit();
}
else
{
e.Cancel = true;
}
}
}
}
}
总 结
本次课程设计是在陈波老师的悉心指导和热心帮助下完成的,陈老师认真负责的工作态度,严谨的教学精神和深厚的理论水平都使我受益匪浅。并且在系统的设计开发过程中,注重了科学的软件设计思路。首先在总体设计上,采用了模块化和分层的设计思想,使整个系统流程清晰、逻辑合理,为系统的实现创造了良好的条件。另外,在安全性上,数据库采用SQL Server数据库加密和用户密码加密,使系统更安全。
通过这次课程设计,我对数据库的设计更全面的了解和掌握,将所学的知识运用到实践当中。数据库设计分为三个阶段,分别是:收集和分析用户要求、建立E -R模型和数据库模式设计。主要任务是创建数据库模式。数据库逻辑设计中的第一阶段收集和分析用户需求是按以下四步进行的:分析用户活动,确定系统范围,分析用户活动所涉及的数据和分析系统数据。数据流图是一种从数据和对数据的加工两方面表达系统工作过程的图形表示法。含有四种基本成分:带箭头的线段表示数据及其流动方向,圆形框表示对数据的加工,卡片形框表示文件,方框表示源点和终点。画数据流图应遵循:由外向内、自顶向下原则进行。
参考文献
[1] 苗雪兰,刘瑞新,宋歌.数据库系统原理及应用教程(第三版)[M].机械工业出版社,2008
[2] 陈明. 软件工程[M]. 北京:中央广播电视大学出版, 2001
[3] 王利. 数据库基础与应用[M]. 北京:中央广播电视大学出版社,2002.4
[4] 张海藩.软件工程导论[M].北京:清华大学出版社,2003
[5] 萨师煊, 王珊.数据库系统概论[M]. 北京:高等教育出版社,2003
[6] 薛华成.管理信息系统(第四版)[M].北京:清华大学出版社,2004
其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。
二.培训的及要求培训目的
安全生产目标责任书
为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部签订如下安全生产目标:
一、目标值:
1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。
2、现金安全保管,不发生盗窃事故。
3、每月足额提取安全生产费用,保障安全生产投入资金的到位。
4、安全培训合格率为100%。
二、本单位安全工作上必须做到以下内容:
1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职责,确保安全责任制在本单位全面落实,并全力支持安全工作。
2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。
3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。
4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。
5、在公司及政府的安全检查中杜绝各类违章现象。
6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。
7、以身作则,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。
8、虚心接受员工提出的问题,杜绝不接受或盲目指挥;
9、发生事故,应立即报告主管领导,按照“四不放过”的原则召开事故分析会,提出整改措施和对责任者的处理意见,并填写事故登记表,严禁隐瞒不报或降低对责任者的处罚标准。
10、必须按规定对单位员工进行培训和新员工上岗教育;
11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。
三、 安全奖惩:
1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实现安全目标的按照公司规定进行处罚。
2、每月接受主管领导指派人员对安全生产责任状的落
展开阅读全文