基于MYSQL的图书管理系统数据库设计.docx
《基于MYSQL的图书管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《基于MYSQL的图书管理系统数据库设计.docx(10页珍藏版)》请在冰豆网上搜索。
基于MYSQL的图书管理系统数据库设计
题目:
基于MYSQL图书管理系统数据库设计
1.题目概述 3
2.需求分析 3
2.1功能需求 3
2.2数据需求 4
2.3数据安全与约束 4
2.4数据流图 5
3.概要设计 6
3.1实体及联系 6
3.2ER图 6
4.逻辑结构设计 9
4.1数据库模型 9
4.2数据库模型函数依赖集 10
5.程序设计 12
5.1图书管理系统的功能模块 12
5.2主要模块的功能描述 12
5.3数据库源代码 13
5.3.1数据库表设计 13
5.3.2数据初始化 15
5.3.3单表查询 17
5.3.4借书操作 18
5.3.5超期处理 20
5.3.6还书操作 21
5.3.7书籍状态 23
5.3.8读者状态 24
6.运行环境描述 26
6.1选择语言 26
6.1.1SQL语言的特点 26
6.1.2SQL功能与特性 26
6.1.3UML语言的特点 27
6.2选择数据库 27
7.参考文献 28
1.题目概述
在对该校的图书馆进行调研时发现,图书馆内的部分工作采用的还是手工操作,管理起来效率低下,对师生对图书的需求意图了解不够充分,不能及时的查询各类图书的存储状况等;图书的动态调整缓慢,不利于满足师生对图书的借阅需求。
手工操作存在大量的弊端,例如一些人为因素,手动操作经常造成图书数据的遗漏和误报等。
学校图书馆为了提高管理和借阅效率,决定采用计算机管理,经与图书馆管理人员交谈,得知:
(1)学校师生必须在图书馆先办理借阅证,然后方可借阅图书资料。
(2)图书馆对书籍原来有一套卡片登记制度,现在需要将其查询功能移植入计算机(当然相应地也必须建立图书登记、报废等记录)。
(3)借阅图书从原来的手工填写借阅单据改为计算机登记借阅。
(4)提供挂失、预约、综合查询等新功能以方便读者。
(5)为了图书馆管理的需要,提供一定的统计功能。
2.需求分析
2.1功能需求
(1)图书管理
1.新书入库:
对新购进的图书进行必要的登记。
2.图书资料修改:
对图书的数量,分类,流通/馆藏等资料进行修改。
3.图书查询提供多种查询,定位图书的方法。
可以通过图书编号、类别、书名、作者、出版社、出版日期等信息查询。
(2)读者管理
1.增加新读者:
为新读者办理借书证。
读者要区分教师和学生。
教师和学生可以借阅的图书的种类和数量不同。
2.读者资料修改:
除能对个别读者的信息进行修改外,还能对读者信息进行批量修改。
对借书证进行挂失、取消挂失、证件注销等处理。
当读者有未还图书时,不允许注销。
3.读者资料查询:
提供多种方法对读者信息,以及该读者的借阅信息进行查询。
(3)借阅管理
1.借书:
根据书号借书。
每本书有一定的借阅期限,每位读者借阅的数量不能超过允许的数量。
图书借阅必须进行必要的登记,并通知读者还书的日期等相关事宜。
若因为某种原因不能借出,要说明理由。
如图书是馆藏或已借完等。
2.还书:
对超期、损坏的图书应进行罚款处理。
3.挂失:
对丢失图书视不同书籍进行不同数量的罚款。
4.预约:
根据书号对已借完的图书进行预约。
对预约的读者的证号、联系电话、地址、Email等信息进行登记。
当预约图书被其他读者还回时要作记录,以便通知管理员通知预约读者。
5.续借:
对续借次数要有限制。
对已预约的图书不允许续借。
(4)综合查询
综合查询主要面向读者。
普通读者能采用多种方式对图书的当前库存数量、图书内容等信息进行查询。
也能根据借书证号对自己的借阅情况进行查询。
(5)统计
1.对不同种类图书的数量,库存等信息进行统计
2.对每种图书在一定时期的借阅次数,预约次数等信息进行统计。
3.对不同读者的借阅情况进行统计
2.2数据需求
(1)图书基本数据
1.银行标识:
不超过10个汉字
2.帐号:
18位数字,同一银行之下的帐号必须唯一
3.编号
4.ISBN号
5.书名:
不超过30个汉字
6.文种
7.作者:
因为可以有不止一个作者,规定一个作者的姓名长度不超过5个汉字,且为了查询方便,不能把多个作者放在同一个属性中。
8.出版社:
不超过20个汉字
9.出版日期
10.价格
11.主题词1
12.主题词2
13.主题词3
14.流通册数
15.馆藏册数等
(2)读者基本数据
1.证号:
不超过10位数字
2.姓名:
不超过5个汉字
3.单位:
不超过20个汉字
4.职务:
不超过3个汉字或者用职务编号代替
5.卡数等
2.3数据安全与约束
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。
安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。
数据是在外部互联网络以及图书馆内部局域网中进行流动和存储的,要保证其在这一过程中的安全稳定。
对于图书馆数据安全来说,就是要防止数据在传输和使用的过程中被非法复制、更改、删除和使用等。
为了达到这一目的,就需要开发相应的信息管理技术和建立相应的图书馆数据信息管理系统。
通过保障图书馆软件系统和硬件系统的安全稳定运行,使得图书馆数据服务系统可以持续工作,不因内部数据错误和外界人为或环境的干扰而出现中断,达到保护数据安全的最终目标。
2.4数据流图
(1)图书借阅的业务流程图:
图2-1系统的数据流程图
3.概要设计
3.1实体及联系
(1)书籍类别(种类编号,种类名称)
(2)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)
(3)书籍(书籍编号,书籍名称,书籍类别,书籍作者,出版社名称,出版日期,登记日期,是否被借出)
(4)借阅(借书证编号,书籍编号,读者借书时间)
(5)还书(借书证编号,书籍编号,读者还书时间)
(6)罚款(借书证编号,读者姓名,书籍编号,书籍名称,罚款金额,借阅时间)
3.2ER图
根据功能需求,可以建立实体之间的关系,进而实现逻辑结构功能。
图书管理信息系统可以划分的实体有:
书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。
(1)书籍类别实体E-R图:
图3-1书籍类别实体E-R图
(2)读者信息实体E-R图:
图3-2读者信息实体E-R图
(3)书籍信息实体E-R图:
图3-3书籍信息实体E-R图
(4)借阅记录信息实体E-R图:
图3-4借阅记录信息实体E-R图
(5)归还记录信息实体E-R图:
图3-5归还记录信息实体E-R图
(6)罚款信息实体E-R图:
图3-6罚款信息实体E-R图
(7)总的信息实体E-R图:
图3-7总的信息实体E-R图
4.逻辑结构设计
4.1数据库模型
数据字典:
表4-1 book_style书籍类别信息表
表中列名
数据类型
可否为空
说明
bookstyleno
varchar
Notnull(主键)
种类编号
bookstyle
Varchar
Notnull
种类名称
表4-2 system_readers读者信息表
表中列名
数据类型
可否为空
说明
readerid
Varchar
Notnull(主键)
读者借书证号
readername
Varchar
Notnull
读者姓名
readersex
Varchar
Notnull
读者性别
readertype
Varchar
Null
读者种类
regdate
Datetime
Null
登记日期
表4-3 system_book书籍信息表
表中列名
数据类型
可否为空
说明
bookid
Varchar
Notnull(主键)
书籍编号
bookname
Varchar
Notnull
书籍名称
bookstyle
Varchar
Notnull
书籍类别
bookauthor
Varchar
Notnull
书籍作者
bookpub
Varchar
Null
出版社名称
bookpubdate
Datetime
Null
出版日期
bookindate
Datetime
Null
收录日期
isborrowed
Varchar
NotNull
是否被借出
表4-4 borrow_record借阅记录信息表
表中列名
数据类型
可否为空
说明
readerid
Varchar
Notnull(外主键)
读者借阅证编号
bookid
Varchar
Notnull(外主键)
书籍编号
borrowdate
Varchar
Notnull
读者借书时间