图书管理系统.docx
- 文档编号:5973395
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:20
- 大小:1,012.63KB
图书管理系统.docx
《图书管理系统.docx》由会员分享,可在线阅读,更多相关《图书管理系统.docx(20页珍藏版)》请在冰点文库上搜索。
图书管理系统
课程设计(大作业)报告
课程名称:
数据库原理与应用
设计题目:
图书管理系统
院系:
信息技术学院
班级:
09计算机科学与技术本1班
设计者:
杨凯博、田磊、刘福良
学号:
20091101129、20091101124、20091101119
指导教师:
王亚宁
设计时间:
2011-6-7至2011-6-14
一、前言
(一)、课程设计目的
1.掌握数据库基本原理,理解关系数据库的设计方法和设计思路。
2.设计一个数据库应用系统。
3.完成所设计系统数据库的概念设计、逻辑设计与物理设计。
4.SQLServer2005的操作与使用。
5.数据库的建立与管理、数据表的建立与操作等。
6.SQL查询语言的使用与编程。
7.培养对所学知识的综合运用的能力。
(二)、课程设计的基本要求
用SQLServer2005实现一个管理信息系统的数据库设计,包括:
1.需求分析。
要求全面描述管理信息系统的信息要求和处理要求。
2.数据库的概念设计、逻辑设计与物理设计。
要求掌握对管理信息系统进行需求分析,绘制E-R图的方法。
掌握将E-R图转换成关系模式的方法,掌握对关系模式进行规范化的方法。
3.数据库和数据表的创建。
要求掌握建立数据库的方法,掌握表的建立,掌握主键约束、外键约束、校核约束及默认约束的建立和使用。
掌握表记录的插入、修改与删除。
4.数据查询。
要求掌握简单查询和条件查询,掌握连接查询、嵌套查询、组函数的用法。
5.数据库对象的设计。
要求掌握视图的建立、查询。
通过对常用系统存储过程的使用,了解存储过程的类型。
通过创建和执行存储过程,了解存储过程的基本概念,掌握使用存储过程的操作技巧和方法。
通过对已创建的存储过程的改变,掌握修改、删除存储过程的操作技巧和方法。
掌握触发器的建立与使用。
6.数据库的用户与权限管理。
要求掌握建立数据库用户的方法,能够进行权限管理。
7.数据库的备份。
要求掌握数据库的备份技术。
二、系统背景资料说明
长期以来,人们使用传统的人工方式管理图书馆的日常业务,其操作流程比较繁琐。
在借书时,读者首先要将借的书和借阅证交给工作人员,工作人员然后将每本书的信息卡片和读者的借阅证放在一个小格栏里,最后在借阅证和每本书贴的借阅条上填写借阅信息。
在还书时,读者首先将要还的书交给工作人员,工作人员然后根据图书信息找到相应的借书卡和借阅证,并填写相应的还书信息。
从上述中可以发现,传统的手工流程存在着种种不足。
首先处理借书、还书业务流程的效率很低;其次处理能力较低,一般时间内,所能服务的读者认识只能是很有限的。
为此,图书信息管理系统需要为不同的图书馆解决上述问题,提供快速的图书信息检索功能及快捷的图书借阅、归还流程。
三、系统需求分析
(一)系统的功能说明
图书管理工作繁琐,借阅频繁,包含大量的信息数据,因此就需要一个完善的图书管理系统来实现对这些数据的有效管理。
本系统主要任务就是对图书、读者、员工、借阅信息、查询进行统一管理,满足各类用户的需求。
本系统在功能上要实现借阅图书、续借图书、归还图书、催还图书、信息查询等功能。
(二)、系统功能结构图以及相应的文字说明
图书管理系统就是要求图书管理人员通过该系统对图书、读者、员工、借阅信息等进行统一管理,从而实现功能上的借阅图书、续借图书、归还图书、催还图书以及信息查询。
这就要求管理人员能够对数据库进行熟练操作而简单的表查询、触发器的建立、存储过程的建立以及用户自定义函数的建立等等这些管理数据库的方法都能对图书馆里系统的管理起到事半功倍的效果。
四、数据库概念结构设计
实体、联系、属性及E_R图。
根据数据库分析,确定实体及实体间联系,及各个实体和联系的属性并设计出E-R图。
1、实体,联系
实体:
图书信息,借阅书籍,归还书籍,借阅人,员工
联系:
借阅信息,管理信息
图书信息与借阅书籍、归还书籍及借阅人之间的联系是借阅信息。
图书信息与员工之间的联系是管理信息。
2,图书管理系统E-R图模型
图书管理系统E_R图模型
五、数据库逻辑结构设计
关系模式(带下划线的为主码,带波浪线的为外码):
图书(编号,书名,作者,出版时间,出版社,期限)
学生(学号,姓名,性别,出生日期,所属学院,班级,专业)
借阅(期限,借出时间,归还时间,编号,学号,流水号)
六、数据库实现
1、表设计及表结构
需要的表有:
图书表,学生表,借阅表。
以下为各表的表结构
图书表结构
借阅表结构
学生表结构
2、用T-SQL语句创建数据库、创建表以及添加数据
(1)、创建数据库代码:
CREATEDATABASE图书管理系统
ONPRIMARY
(NAME=图书管理系统,
FILENAME='E:
\数据库课程设计\图书管理系统.mdf',
SIZE=3MB,
FILEGROWTH=1MB
)
LOGON
(NAME=图书管理系统_log,
FILENAME='E:
\数据库课程设计\图书管理系统_log.ldf',
SIZE=1MB,
MAXSIZE=2097152MB,
FILEGROWTH=10%
)
GO
(2)、创建表代码:
USE图书管理系统
GO
CREATETABLE图书
(编号nchar(10)CONSTRAINTpk_bhPRIMARYKEY,
书名varchar(50)NOTNULL,
出版社varchar(50)NOTNULL,
作者varchar(50)NOTNULL,
出版时间datetimeNOTNULL,
[期限\月]nchar(10)NOTNULL,
)
GO
CREATETABLE学生
(学号char(10)CONSTRAINTpk_xhPRIMARYKEYNOTNULL,
姓名char(10),
性别char(10),
出生日期datetime,
专业char(10),
班级char(10),
所属学院nchar(10),
)
GO
CREATETABLE借阅
(流水号char(10)IDENTITY(1,1)NOTNULL,
编号varchar(10)CONSTRAINTfk_jybhREFERENCES图书(编号),
学号nchar(10)CONSTRAINTfk_jyxhREFERENCES学生(学号),
借出时间datetime,
归还时间datetime,
期限nchar(10)
3、添加数据的代码
七、运行结果
(一)、数据查询
简单查询:
查询学生表中所有信息:
use图书管理系统
go
select*
from学生
go
查询图书表中所有信息
use图书管理系统
go
select*
from图书
go
条件查询:
查询计算机系的所有学生的所有资料:
use图书管理系统
go
select*
from学生
where所属学院='计算机系'
go
连接查询:
查询已借书的学生的学号,姓名,专业,班级
use图书管理系统
go
select学生.学号,姓名,班级
from学生
join借阅on学生.学号=借阅.学号
go
查询学生学号='2010211131'的姓名,专业,班级,借出时间,归还时间
use图书管理系统
go
select学生.学号,姓名,专业,班级,借出时间,归还时间
from学生
join借阅on学生.学号=借阅.学号
where学生.学号='2010211131'
go
嵌套查询:
查询在2011年5月12日借书学生的学号,姓名,专业,班级
use图书管理系统数据库
go
select学生.学号,姓名,专业,班级
from学生
where学号in
(select学号
from借阅
where借出时间='2011-5-12'
)
go
(二)、数据库对象的设计
1、视图(查询学生借书情况的视图代码:
(视图名为xsjsqk))
视图的创建
USE图书管理系统数据库
GO
CREATEVIEWV_1
AS
SELECT学生.学号,姓名,性别,书名,借出时间,归还时间,[期限\月]
FROM学生JOIN借阅ON学生.学号=借阅.学号
JOIN图书ON借阅.编号=图书.编号
GO
视图的查询
USE图书管理系统
GO
SELECT*
FROMV_1
GO
2、在借阅表中加入触发器
触发器:
(ins_jieyue)当借阅表中加入一条记录时修改图书中的列”外借属性”的值
USE图书管理系统
GO
CREATETRIGGERins_jieyue
ON借阅
FORINSERT
AS
UPDATE图书
SET外借情况='外借'
frominsertedn
WHERE图书.编号=n.编号
GO
触发器:
(del_jieyue)当借阅表中删除一条记录时修改图书中的列”外借属性”的值
USE图书管理系统
GO
CREATETRIGGERdel_mieyue
ON借阅
FORDELETE
AS
UPDATE图书
SET外借情况='不在馆内'
fromdeleteda
WHERE图书.编号=a.编号
GO
3、查询某个系学生借书超时的情况(以105为例)
数据中认为各系的系部代码为:
英语100/数学101/化学系011/经济系012/物理系013体育系010/美术系033/历史系111/医学系009教育学院008/政法系112
USE图书管理系统数据库
GO
SELECT*
FROMV_1
WHERE学号LIKE'____105____'AND归还时间 4、数据库的用户与权限管理 在SQLserver2005中创建服务器登录名,名字叫做”实验”,该服务器登录名的常规选项中设置密码,并指定默认数据库为图书管理系统数据库,这样在数据库图书管理系统数据库中默认生成数据库用户名,名字也为”实验”,在用户映射中设置此数据库用户名在SQLserver2005服务器上只能访问图书管理系统数据库,在安全对象中设置该用户名对数据库中各个表的使用权限,在属性-常规中给登陆账户sa设置一个密码,使用其默认的最高管理权限,并可以访问所有的数据库,操作过程参照了课本288页至292页: 八、实验心得 通过本次的课程设计,让我又熟悉了一次教材。 这次的实训将整个大二上学期的SQLServer2005所学内容都融汇到了里面。 而实训的大纲仅仅只是老师提供了一个轮廓,整体的设计都要求同学们独立完成,更是培养了同学们独立思考的好习惯。 这样的实训我更愿意称之为“复习实训”,因为它综合了SQLServer2005的数据库、表、视图、触发器、存储过程及函数的创建与应用,以及数据的增、删、改的简单操作,让我真真切切地感觉学到了些东西。 九、参考文献 《数据库原理与设计(SQLServer2005)》 -清华大学出版社出版申时凯戴祖成佘玉梅主编 组内互评: 刘福良: 自评: 为人诚恳,性格开朗,积极进取,适应力强、勤奋好学、脚踏实地,有较强的团队精神,工作积极进取,态度认真。 互评: 我们组员每个都是很有责任心的人! 和你们合作我很开心! 杨凯博: 自评: 实诚信,讲原则,说到做到,决不推卸责任;有自制力,做事情始终坚持有始有终,从不半途而废;肯学习,有问题不逃避,愿意虚心向他人学习; 互评: 我们的组员非常听从指挥,合作的十分融洽,从头到尾到没出现什么大的分歧。 这是十分难得的,每个人都有自己的优点,全部毫无保留贡献到这次活动中了。 田磊: 自评: 积极与同学交流,不仅促进了我与同学的关系,而且还锻炼我的能力 互评: 大家都很棒,我有什么不懂,他们都会尽全力帮助我,我懂得了很多。 小组互评: 2组 组员: 陈龑,关朴林,韦凡,郭子仪 题目: 企业人事管理系统 评价: 改小组在试验中非常团结,办事效率很快,都很负责任,完成的效果也很理想,思想活跃,创造力强,分数85
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统