基于MYSQL的图书管理系统数据库设计.docx

上传人:b****8 文档编号:12688844 上传时间:2023-06-07 格式:DOCX 页数:34 大小:783.03KB
下载 相关 举报
基于MYSQL的图书管理系统数据库设计.docx_第1页
第1页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第2页
第2页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第3页
第3页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第4页
第4页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第5页
第5页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第6页
第6页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第7页
第7页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第8页
第8页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第9页
第9页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第10页
第10页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第11页
第11页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第12页
第12页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第13页
第13页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第14页
第14页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第15页
第15页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第16页
第16页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第17页
第17页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第18页
第18页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第19页
第19页 / 共34页
基于MYSQL的图书管理系统数据库设计.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于MYSQL的图书管理系统数据库设计.docx

《基于MYSQL的图书管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《基于MYSQL的图书管理系统数据库设计.docx(34页珍藏版)》请在冰点文库上搜索。

基于MYSQL的图书管理系统数据库设计.docx

基于MYSQL的图书管理系统数据库设计

 

 

题目:

基于MYSQL图书管理系统数据库设计

 

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-1book_style书籍类别信息表

表中列名

数据类型

可否为空

说明

bookstyleno

varchar

Notnull(主键)

种类编号

bookstyle

Varchar

Notnull

种类名称

表4-2system_readers读者信息表

表中列名

数据类型

可否为空

说明

readerid

Varchar

Notnull(主键)

读者借书证号

readername

Varchar

Notnull

读者

readersex

Varchar

Notnull

读者性别

readertype

Varchar

Null

读者种类

regdate

Datetime

Null

登记日期

表4-3system_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-4borrow_record借阅记录信息表

表中列名

数据类型

可否为空

说明

readerid

Varchar

Notnull(外主键)

读者借阅证编号

bookid

Varchar

Notnull(外主键)

书籍编号

borrowdate

Varchar

Notnull

读者借书时间

 

表4-5return_record归还记录信息表

表中列名

数据类型

可否为空

说明

readername

Varchar

Notnull(外主键)

读者借阅证编号

readerid

Varchar

Notnull(外主键)

书籍编号

returndate

Datetime

Notnull

读者还书时间

表4-6reader_fee罚款记录信息表

readerid

Varchar

Notnull

读者借书证编号

readername

Varchar

Notnull

读者

bookid

Varchar

Notnull(外主键)

书籍编号

bookname

Varchar

Notnull

书籍名称

bookfee

Varchar

NotNull

罚款金额

borrowdate

Datetime

NotNull

借阅时间

4.2数据库模型函数依赖集

(1)书籍类别关系中种类编号为主键,其中函数依赖有:

种类编号→种类名称。

 

因为书籍类别关系中不存在非主属性对码的局部函数依赖和传递函数依赖关系,所以客户关系是属于3NF。

 

〔2〕书籍关系中书籍编号为主键,其中函数依赖有:

书籍编号→书籍名称,书籍编号→书籍类别,书籍编号→书籍作者,书籍编号→名称,书籍编号→出版日期,书籍编号→登记日期。

 

因为书籍关系中不存在非主属性对码的局部函数依赖和传递函数依赖关系,所以客户关系是属于3NF。

 

〔3〕读者关系中读者借书证号为主键,其中函数依赖有:

读者借书证号→读者,读者借书证号→读者性别,读者借书证号→读者种类,读者借书证号→登记日期。

 

因为读者关系中不存在非主属性对码的局部函数依赖和传递函数依赖关系,所以客户关系是属于3NF。

 

〔4〕借阅关系中〔借书证编号,书籍编号〕为主键,其中函数依赖有:

〔借书证编号,书籍编号〕→读者借书时间。

因为借阅关系中不存在非主属性对码的局部函数依赖和传递函数依赖关系,所以客户关系是属于3NF。

(5)还书关系中〔借书证编号,书籍编号〕为主键,其中函数依赖有:

〔借书证编号,书籍编号〕→读者还书时间。

 

因为还书关系中不存在非主属性对码的局部函数依赖和传递函数依赖关系,所以客户关系是属于3NF。

(6)罚款关系中书籍编号为主键,其中函数依赖有:

书籍编号→借书证编号,书籍编号→读者,书籍编号→书籍名称,书籍编号→罚款金额,书籍编号→借阅时间。

 

因为罚款关系中不存在非主属性对码的局部函数依赖和传递函数依赖关系,所以客户关系是属于3NF。

5.程序设计

5.1图书管理系统的功能模块

图5-1图书管理系统的功能模块

5.2主要模块的功能描述

本系统分为4个模块。

包括用户管理模块,图书管理模块,借阅管理模块,和信息查询模块。

〔1〕用户管理模块

用户管理模块的功能主要包括用户信息(管理员用户、师生用户)的新增、修

改、删除、查询等功能。

1.新增用户借书证

面对学校每年大量的新入学新生,需提供快捷的、完善的用户增加功能。

图书管理员用户的注册,为新进员工分配图书管理员账号,主要由系统管理员负责。

2.注销用户借书证

主要是在学生毕业时或职工离职时,可单个或批量删除用户信息,确保图书管理系统平安性。

3.修改用户信息

在图书馆的日常工作中难免发生问题或过失,会产生错误的用户信息,修改功能通过账号查找用户信息,并对用户估息的可修改项进展修改。

4.查询功能

通过用户管理模块,拥有查询权限的管理员可以查询用户及管理员的用户信

息,一般提供通过账号、、借出图书所有者等信息进展查询,返回用户信息,

方便图书管理系统的统一管理。

〔2〕图书信息管理模块

图书信息管理模块主要包括图书信息录入、图书信息修改、图书信息删除、图书信息查询等功能。

1.图书信息录入

对新进图书进展图书信息的录入,单本图书录入一般由图书管理员负责,图书管理员录入图书根本信息,系统将根据图书的根本信息为图书分配一个唯一的编号,并实时更新数据库,方便用户查询。

2.图书信息修改

图书信息修改通过输入的图书名称、图书编号等根本信息中的一项或多项进展图书信息的查看,并修改该图书信息,这一个功能一般由图书管理员操作。

3.图书信息删除

图书删除功能通过录入图书名称、图书编号等根本信息中的一项或多项进展图书信息的查看,进而删除该图书信息,一般由拥有删除权限的图书管理员操作。

〔3〕借阅信息管理模块

借阅信息管理模块包括图书借阅、图书归还、超期罚款等功能。

1.图书借阅

图书借阅需审核用户信息及图书信,审核通过将修改系统数据库中图书信息以及用户信息。

审核不通过将返问错误信息给用户。

2.图书归还

图书归还时,图书管理员将检查图书是否有破损,以及是否违反图书馆管理规那么,例如图书过期等。

审核完成后修改数据库中图书信息以及用户信息,完成图书归还工作。

3.超期罚款

用户在借阅过程中,如出现超期现象,将产生超期罚款,超期罚款缴纳前用户

图书证处于锁定状态,不容许继续借阅图书,直到用户解锁后,即用户交完罚款后,实时更新数据库。

〔4〕信息査询模块

信息查询模块主要为师生用户提供借阅信息查询功能,用户通过登录查询,录入用户学号,返回查询结果中包括借阅图书根本信息、借阅时间,归还时间,是否超期等信息。

5.3数据库源代码

5.3.1数据库表设计

〔1〕创立书本类别表

createtablebook_style

bookstylenovarchar(30)primarykey,

bookstylevarchar(30)

〔2〕创立书库表

createtablesystem_books

bookidvarchar(20)primarykey,

booknamevarchar(30)Notnull,

bookstylenovarchar(30)Notnull,

bookauthorvarchar(30),

bookpubvarchar(30),

bookpubdatedatetime,

bookindatedatetime,

isborrowedvarchar

(2),

foreignkey(bookstyleno)referencesbook_style(bookstyleno),

〔3〕创立借书证表

createtablesystem_readers

readeridvarchar(9)primarykey,

readernamevarchar(9)notnull,

readersexvarchar

(2)notnull,

readertypevarchar(10),

regdatedatetime

〔4〕创立借书记录表

createtableborrow_record

bookidvarchar(20)primarykey,

readeridvarchar(9),

borrowdatedatetime,

foreignkey(bookid)referencessystem_books(bookid),

foreignkey(readerid)referencessystem_readers(readerid),

〔5〕创立还书记录表

createtablereturn_record

bookidvarchar(20)primarykey,

readeridvarchar(9),

returndatedatetime,

foreignkey(bookid)referencessystem_books(bookid),

foreignkey(readerid)referencessystem_readers(readerid)

〔6〕创立罚款单表

createtablereader_fee

readeridvarchar(9)notnull,

readernamevarchar(9)notnull,

bookidvarchar(20)primarykey,

booknamevarchar(30)Notnull,

bookfeevarchar(30),

borrowdatedatetime,

foreignkey(bookid)referencessystem_books(bookid),

foreignkey(readerid)referencessystem_readers(readerid)

5.3.2数据初始化

〔1〕初始化书籍类别表book_style

insertintobook_style(bookstyleno,bookstyle)values('1','哲学')

insertintobook_style(bookstyleno,bookstyle)values('2','文学艺术')

insertintobook_style(bookstyleno,bookstyle)values('3','历史地理')

insertintobook_style(bookstyleno,bookstyle)values('4','数理科学')

insertintobook_style(bookstyleno,bookstyle)values('5','生物科学')

insertintobook_style(bookstyleno,bookstyle)values('6','交通运输')

insertintobook_style(bookstyleno,bookstyle)values('7','政治法律')

〔2〕将已有的图书参加system_books表中

insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('','中国易学','1','正','中央编译','2015-05-10','2015-10-25','1');

insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('','初妆爱玲','2','舒天','新华','2014-01-10','2015-05-26','1');

insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('','明成祖传','3','晁中辰','人民','2014-08-10','2015-05-27','1');

insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('','高等数学','4','东','大学','2014-08-10','2015-05-28','1');

insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('','转基因解析','5','青平','人民','2014-01-10','2015-05-29','1');

insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('','铁路选线设计','6','易思蓉','大学','2014-01-10','2015-05-30','1');

insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('','民事诉讼实务教程','7','涛','华东理工大学','2014-09-10','2015-05-31','1');

insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('','一楣月下窗','2','程然','人民','2014-09-10','2015-05-30','1');

〔3〕将已有图书证的读者参加system_readers表中

insertintosystem_readers(readerid,readername,readersex,readertype,regdate)

values('20151101','姬彦雪','女','学生','2015-01-0112:

20');

insertintosystem_readers(readerid,readername,readersex,readertype,regdate)

values('20151102','郝永宸','男','学生','2015-01-0213:

15');

insertintosystem_readers(readerid,readername,readersex,readertype,regdate)

values('20151103','于新磊','男','学生','2015-01-0313:

33');

insertintosystem_readers(readerid,readername,readersex,readertype,regdate)

values('20151104','殷娜梅','女','学生','2015-01-0412:

01');

insertintosystem_readers(readerid,readername,readersex,readertype,regdate)

values('20151105','宋天鸣','男','学生','2015-01-0515:

23');

insertintosystem_readers(readerid,readername,readersex,readertype,regdate)

values('20111217','石逸轩','男','教师','2015-01-0618:

50');

insertintosystem_readers(readerid,readername,readersex,readertype,r

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2