简朴用数据库实现图书管理系统

打印 上一主题 下一主题

主题 553|帖子 553|积分 1659

目次


一、摘要
2、基本功能
二、媒介
三、主体
3.1需求分析
3.1.1 数据需求分析
3.1.2 功能需求分析
3.2概要计划
3.2.1 数据字典
3.2.2 ERD(实体关系图)
3.2.3 DFD数据流图
3.3 逻辑计划
3.3.1 E-R模子向关系模子的转换规则
3.3.2 E-R图转换为如图所示的数据库关系表
3.4 物理计划
3.4.1 DDL语言
3.4.2 视图
3.4.3 重要的存储过程
四、结论
五、参考文献

一、摘要


  • 计划教学管理系统,要求有基本资料管理,比如:读者、图书管理员、阅览室、书籍、书架、书籍分类、出书社、罚款单、系统管理员,书商等基础信息。
  • 基本功能:
角色1:读者
 选课
 查询图书
 借书还书
角色2:图书管理员
角色3:采购员
角色4:系统管理员
 数据备份
 系统优化
 死锁清除
     3.借还书要求考虑到学期、时间、图书管理员、读者等信息:借书、还书、日期时间挂钩、采购书、入库、书上架、书下架、盘货、销毁。
二、媒介

  图书馆作为信息资源的集散地,图书和用户借阅资料繁多,包含许多信息数据的管理,现今,有许多的图书馆都是开端开辟使用,甚至尚未使用计算机进行信息管理,根据观察得知,他们以前对信息的管理都基于文本,表格等纸介质的手工处置惩罚,对图书借阅环境(如借阅天数,超过借阅的天数)的统计和审核都通过借书卡的方式人工查询。

  对借阅的权限,借阅天数用人工计算,手工抄写。数据处置惩罚工作量大,容易出错。由于数据量大容易丢失,且不容易查找。总的来说,缺乏系统规范的管理手段。只管有的图书馆有计算机,但是尚未由于信息管理,没有发挥它的效力,资源闲置比力突出,这就是信息管理系统开辟的基本环境。基于这个题目,我们认为有须要建立一个图书管理系统,使图书管理工作规范化。

  该系统重要有几个大的模块︰图书信息录入、图书借阅管理、读者信息管理、图书信息查询,其中每个模块的重要功能如下∶

  图书信息录入︰图书信息的录入采用联网查询方式,通过条码枪扫描图书的ISBN码,系统会主动搜索图书信息,然后把图书信息录入到系统。通过实行,录入1本书的时间大概是20—40秒,这比原来的繁琐的手工录入效率提高90%,极大的减轻了图书管理职员的劳动强度,使广大中小学图书管理信息化突破了录入的瓶颈。

  图书借阅管理︰根据读者提供的借书证号或借书卡号进行图书的借阅、图书归还操纵。读者信息管理:对读者进行注册登记、注销读者、查阅借阅记录等操纵。图书信息查询︰包括导入导出图书信息,根据图书的书名、分类、出书社、价格范围、出书日期来查询图书,进行分类统计,形成上级报表等[1]。

三、主体

3.1需求分析

3.1.1 数据需求分析
图书馆管理信息系统需要完成功能重要有:
(1)读者基本信息的输入,包括借书证编号、读者姓名、读者性别等。

(2)读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。

(3)书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。

(4)书籍类别信息的查询、修改,包括类别编号、类别名称。

(5)书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出书社名称、出书日期、登记日期。

(6)借书信息的输入,包括读者借书证编号、书籍编号、借书日期。

(7)借书信息的查询、修改,包括借书证编号、借书证编号、读者姓名、书籍编号、书籍名称、借书日期等[2]。

3.1.2 功能需求分析
1.日常工作管理:包括借书管理、还书管理
(1)借书管理:重要功能是记录借阅证编号和图书编号,进行借书过程。在数据库中插入一条借书记录,该记录包括门生学号、图书ID、借出日期、还书限期。
(2)还书管理:重要功能是输入借阅证编号、图书ID,在借阅登记表中找到相应的记录,将该记录的相应数据插入到还书记录中,同时将借书记录删除,并保存在借阅汗青记录表中。
2.基本资料维护管理:包括图书资料维护、门生资料维护
(1)图书资料维护:包括新书的入库,以及现有书籍资料的修改和删除。
(2)门生信息维护:包括新门生的资料入库,以及现有门生资料的修改和删除。
3.查询管理:包括图书资料查询、门生信息查询、借阅汗青记录查询。
(1)图书资料查询:根据相应的图书信息对所有书籍进行所需查询。此查询包括:图书类别、图书编号、图书名称、著者、出书社[3]。
(2)门生信息查询:根据相应的门生信息进行所需查询。借阅证编号、门生姓名、门生学号。
(3)借阅汗青记录查询:根据相应的借阅信息进行所需查询。此查询包括:借阅证编号、图书编号、借书日期、还书日期。

3.2概要计划

3.2.1 数据字典

(1)图书管理员
表1 图书管理员表
列名
数据范例
位数
是否为空
工作号
Varchar
12

暗码
Varchar
50

姓名
Varchar
12

性别
Varchar
2

电话
Varchar
12

备注
Varchar
50

家庭住址
Varchar
100

(2)读者
表2 读者表
列名
数据范例
位数
是否为空
读者号
Varchar
50

读者姓名
Varchar
50

读者性别
Varchar
20

电话
Varchar
12

最大借书量
Int


系别
Varchar
50

生效日期
Datetime


失效日期
Datetime


(3)书籍表
表3 书籍表
列名
数据范例
位数
是否为空
工作号
Varchar
50

ISBN
Varchar
13

添加时间
Datetime


是否在馆
Char
4

(4)门生表
表4 门生表
列名
数据范例
位数
是否为空
工作号
Varchar
50

读者学号
Varchar
50

ISBN
Varchar
50

借还确认
Varchar
50

(5)借阅表
表5 借阅表
列名
数据范例
位数
是否为空
工作号
Bigint
1,1

ISBN
Varchar
50

读者学号
Varchar
50

借书日期
Datetime


还书日期
Datetime


真实还书日期
Datetime


是否续借
Varchar
50

备注
Varchar
100


(6)图书
表6 图书表
列名
数据范例
位数
是否为空
书籍编号
Bigint
1,1

ISBN
Varchar
50

书名
Varchar
50

作者
Varchar
50

出书社
Varchar
50

价格
Money


出书日期
Datetime


库存量
Int


简介
Text


状态
Varchar
50


3.2.2 ERD(实体关系图) 


图1.1  主ER图

3.2.3 DFD数据流图

一层数据流图:

二层数据流图:

三层数据流图:

                                                            图2.3  三层数据流图 
四层数据流:
图2.4  四层数据流图


3.3 逻辑计划

3.3.1 E-R模子向关系模子的转换规则:

(1)实体范例的转换
将每个实体范例转换成一个关系模式,实体的属性即为关系的属性,实体标识符即为关系的键。
(2)接洽范例的转换
①如实体间的接洽是1:1
可以在两个实体范例转换成两个关系模式中的任意一个关系模式的属性中到场另一个关系模式的键和接洽范例的属性。
②如实体间的接洽是1:n
则在n端实体范例转换成的关系模式中到场1端实体范例转换成的关系模式的键和接洽范例的属性。
③如实体间的接洽是m:n
则将接洽范例也转换成关系模式,其属性为两端实体范例的键加上接洽范例的属性,而键为两端实体键的组合。

3.3.2 E-R图转换为如图所示的数据库关系表:

(1)图书信息表

表7 图书信息表

(2)门生信息表

表8  门生信息表

(3)管理员信息表

表9  管理员信息表

(4)借阅信息表

表10  借阅信息表

(5)图书类别信息表
 

表11  图书类别信息表

3.4 物理计划

数据库物理计划的使命是为上一阶段得到的数据库逻辑模子,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有用地实现逻辑结构模式的数据库储存,确定在物理设备上所采用的存储结构和存取方法,然后对该存储式进行性能评价、修改计划、经过多次反复,最后得到一个性能较好的存储模式。数据库物理计划内容包括记录存储结构的计划和存储路径的计划[4]。

3.4.1 DDL语言

①建数据库:

create database libary


②建表:

创建图书信息表

CREATE TABLE dbo.jy (

Lno nchar(10) Primary key ,
Lname nchar(20)NULL ,
Wr nchar(10)NULL ,
Ldate smalldate NULL ,
Lprees nchar (20)NULL
Lbz nchar(20)NULL


创建读者信息表
CREATE TABLE dbo.reader (
Rno nchar (10) Primary key ,
Rname nchar (10)NOT NULL,
Rsex nchar(1)NOT NULL ,
Rdep nchar(20)NOT NULL,
Rage int NULL


创建借阅信息表
CREATE TABLE dbo.jy (
Rno nchar(10) Primary key ,
Lno nchar(10) Primary key ,
data smalldate NULL ,
Ldata smalldate NULL


创建用户表
CREATE TABLE dbo. manage (
Pwd nchar(10) Primary key ,
Id nchar(10)NULL ,


CREATE TABLE UserInfo(
LibNum Int NOT NULL PRIMARY KEY,
Name varchar (20)NOT NULL,
Sex varchar (20)NOT NULL,
Type varchar (20)NOT NULL,


CREATE TABLE Book(
BoNum INT NOT NULL PRIMARY KEY,
Author varchar (15) NOT NULL,
BookName varchar (25) NOT NULL,
Price varchar (30)NOT NULL,
Press varchar (20)NOT NULL,
Storage varchar (25) NOT NULL,
Published varchar (30) NOT NULL,


CREATE TABLE Borrow(
BorNum INT NOT NULL PRIMARY KEY,
BorrowNum varchar (30)NOT NULL,
BorrowTime varchar (20) NOT NULL,
BookNum varchar (35) NOT NULL,
)

3.4.2 视图

 

                                                              图3.1 视图1 

图3.2 视图2

3.4.3 重要的存储过程

INSERT UserInfo
VALUES('411420020','张三',男',门生')
INSERT UserInfo
VALUES('411420021','王丽',女','门生')
INSERT UserInfo
VALUES('411420022','李四',男',’门生')
INSERT UserInfo
VALUES('411420023','马阳',女',门生')

 

图3.3

INSERT Borrow
VALUES('411420020 ,'0101001','2015.6.7",'2015.7.7')
INSERT Borrow
VALUES('411420021',0101002','2015.6.8',2015.7.7')
INSERT Borrow
VALUES('411420022','0101003',2015.6.9',2015.7.9')

 

图3.4

INSERT Book
VALUES(01010001''关系数据库基础'徐人凤"∵'高等教育出书社' 29.60',2000.9.8',2001.8.9','王明')
INSERT Book
VALUES(01010002','疯狂AJAX讲义',’李刚','电子工业出书社', '60.00',2009.8.7',2009.10.8','李哲')
INSERT Book
VALUES(01010003',’JAVA’,’语言程序计划’,’郑莉','清华大学出书社’,’44.50',2009.9.6','2009.11.11','王磊’)

图3.5


create view Info_view(条码号,书名,ISBN号,是否借出,已借次数)
As
select bno , bname , bisbn , islent , times
from Informationcreate view Book_view(ISBN号,书名,类别号,书架号,价格,出书社,图片,图书简介)
as
select bisbn , bname , tpno , bshelf , price , publisher,picture,intro
from Book
create view Book_Type_view(类别号,类别)
as
select tpno , tp
from Book_Type
查询某本书是否可借的具体信息
create view info3_view(书名,架位,条码号,是否借出,是否在架上) 
as select
information.bname ,book.bshelf ,information.bno ,information.islent ,information .ishere
From book,information where information.bisbn='978-7-5617-6282-O' andinformation.bisbn=book . bisbn
按书名关键字检索
create view info1_view(书名,ISBN号,价格,出书社,架位)
as select distinct book. bname , book.bisbn , book.price,book.publisher , book.bshelf
from book where book. bname like '%关系数据库基础%'

统计A类图书总数(以此类推,可统计其他类图书总数)
select count(bno) from information where bisbn in ( select bisbn from bookwhere Tpno='A')
统计图书总数
select count (bno) from information
统计每本书被借次数
select times from information where bno = '02010001'
查看Book表中关系数据库书的信息:
SELECT*FROM BookWHERE BoNum='1010001'
 

图3.6

查询张三信息:
SELECT*FROM UserInfoWHERE LibNum='411420020'

四、结论

  通过这段时间的努力,基本完成了图书管理系统的基本功能:管理员对图书信息的管理以及对读者信息的管理,重要是对其中的表(图书信息表dbo.libary和读者信息表读者表dbo.reader)的信息进行添加、查询和删除。但部分功能未能实现比方读者对该系统的注册,登陆、借阅查寻等一些列功能。
  同时通过这几天的程序及陈诉编写,我也发现了自己的许多不敷,自己的知识有许多毛病,看到了自己的实践履历还是比力缺乏,理论接洽现实的能力还是比力脆弱。尤其是编写大型的程序所要拥有的知识和技能比力缺乏。程序编好了,还要经过调试和修改,这步也很关键,好的程序是经过了无数次的修改和调试才产生的。我们的程序基本上可以大概满足要求,但另有一些地方需要改进,在以后我们应该在多看书的同时还要加强实践的训练,才能进一步提高自己的编程能力。
五、参考文献


  • 图书管理信息系统课程计划 - 百度文库
  • 基于分布式多层数据库的图书管理系统的建立[J]. 刘皓,陈丽.石河子大学学报(自然科学版). 2006(04)
  • 北京天文馆图书管理系统的计划与实现[J]. 管峰,陈昌.  内蒙古科技与经济. 2021(21)
  • 基于大数据的智能图书管理系统的研究与计划[J]. 杨江海,娄德涵,邓海生.  电子制作. 2021(04)
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊雷无声

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表