图书借阅管理系统Word文档下载推荐.docx

上传人:b****5 文档编号:18685654 上传时间:2022-12-31 格式:DOCX 页数:27 大小:276.51KB
下载 相关 举报
图书借阅管理系统Word文档下载推荐.docx_第1页
第1页 / 共27页
图书借阅管理系统Word文档下载推荐.docx_第2页
第2页 / 共27页
图书借阅管理系统Word文档下载推荐.docx_第3页
第3页 / 共27页
图书借阅管理系统Word文档下载推荐.docx_第4页
第4页 / 共27页
图书借阅管理系统Word文档下载推荐.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

图书借阅管理系统Word文档下载推荐.docx

《图书借阅管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《图书借阅管理系统Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。

图书借阅管理系统Word文档下载推荐.docx

读者编号,姓名,性别,学号,学院,专业,年级,类型,类别编号,

办证日期

管理员信息:

管理员编号,姓名,性别,权限,登录口令,住址,电话

馆藏图书信息:

图书编号,索书号,图书名称,作者,出版社,单价,摘要,关键字,副本数,分类,出版日期,状态

图书编号,读者编号,图书名,作者,借阅日期,归还日期,归还日期,应还日期,罚金

借阅历史信息:

图书编号,读者编号,图书名,作者,借阅日期,还书日期

罚款信息:

读者编号,图书编号,图书名,作者,借阅日期,应还日期,归还日期,罚款金额,处理状态,管理员编号

2.2系统处理的功能及要求

2.2.1.能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:

   1)图书信息的录入、删除及修改。

   2)图书信息的多关键字检索查询。

   3)图书的出借、返还及超期罚款或丢失赔偿。

2.2.2.能够对一定数量的读者、管理员进行相应的信息存储与管理,这其中包括:

   1)读者信息的登记、删除及修改。

2)管理员信息的增加、删除及修改。

 3)读者资料的统计与查询。

2.2.3.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。

2.2.4.对查询、统计的结果能够列表显示。

2.3安全性和完整性要求

1)安全性要求

系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。

安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;

系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。

2)完整性要求

系统完整性要求系统中数据的正确性以及相容性。

可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。

2.4图书管理系统数据流程图

2.4.1顶层数据流图:

2.4.2第2层数据流图

2.4.3第3层数据流图:

(读者借阅)

2.4.4第3层数据流图:

(读者还书)

2.4.5第3层数据流图:

(查询图书信息,查询借阅者信息)

2.4.6第3层数据流图:

(修改图书信息)

2.4.7第3层数据流图:

(修改借阅者信息)

2.4图书借阅流程图

对于学生客管理员来单独的看时,各自对应的操作流程为:

(1)学生:

(2)管理员:

2.5数据结构:

2.5.1数据结构列表

数据结

构编号

数据结构名

数据结构

含义

组成

DS-1

Book

馆藏图书信息

BookNo,

BookName,

BookWriter,

BookPublish,

BookDate,

BookLanguage

DS-2

Reader

借阅者信息

StudentNo,

StudentName,

StudentSdept

DS-3

Borrow

借阅信息

BookWriter,

Borrowdate

DS-4

Maneger

管理员信息

MID,

MName

2.5.1处理逻辑描述

处理编号

处理功能

处理过程

PR-1

判断读者查询涉及的功能模块

馆藏图书信息模块、读者信息模块、读者类别信息模块、借阅信息模块、借阅历史信息模块、罚款信息模块、管理员模块、馆室信息模块:

先确定查询所涉及的功能模块;

然后,根据要查询的内容,确定查询数据流向;

最后显示查询结果。

PR-2

判断图书、读者修改要涉及的模块,同时把相应的修改数据传到相应的模块之中

馆藏图书信息模块、读者信息模块、读者类别信息模块、管理员信息模块、馆室信息模块:

先确定更新所涉及的功能模块;

然后,把更新信息传送到相应的模块中;

最后,进行相应的更新操作。

3概念设计阶段

概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。

系统开发的总体目标是实现图书馆管理的系统化和自动化,缩短借阅者的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高图书管理效率的目的。

主要任务是对借阅者信息、管理员信息、图书资料信息、借阅信息、归还图书信息的基本信息的操作及外理。

3.1分析得到模型的E-R图:

3.2各E-R图各实体的属性如下所示:

实体型转换为关系模式。

实体的属性就是关系的属性,实体的码就是关系的码。

对于实体间的联系则有以下不同的情况:

一个m:

n联系转换为一个关系模式。

与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。

一个1:

n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

一个1:

1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

三个或三个以上实体间的一个多元联系可以转换为一个关系模式。

与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合,最后转换后的关系模式如下:

(1)Book(BookID,Title,Author,Publisher,Pyear,language)

(2)Student(ID,Name,Dept)

(3)Assistent(ID,Name)

(4)BBook(BookID,StdID,BDate)

(5)RBook(BookID,StdID,RDate)

(6)Lend(StdID,AstID,BookID,LDate)

(7)Return(StdID,AstID,BookID,RDate)

说明:

(1).书号是图书的键码,每一本书有唯一的书号,一个学生可以同时借阅多本书。

一个管理员可以同时处理多个同学的借阅等事宜。

(2).一般情况下,学生、管理员和图书之间的联系为1:

1:

n,借书的关系Lend作为连接关系,其键码为n端的实体集的键码,即书号为借书关系的键码,这反映了如果还书时也把当初的借书记录删除,则书号就能唯一识别一个元祖。

(3).如果还书时不同时删除借书记录,则意味着同一本书前后可以借给不同的学生,于是学生、管理员与图书之间的联系变为m:

n,这时借书关系的键码为书号和学号的组合。

(4).要知道图书的当前状态,是在图书馆存放,还是被借阅等,需要在Book的模式中增加对应用项用以表示图书当前的状态,比如。

4逻辑设计阶段

4.1数据库模式定义

馆藏图书信息表

列名

数据类型

可否为空

说明

BookID

Char

notnull

图书编号

Title

图书的书名

Author

图书作者

Pulisher

图书出版社

Pyear

Date

图书的出版年

Language

图书语种

借阅者信息表

ID

读者编号

Name

读者姓名

Dept

读者所在系别

管理员信息表

说明

管理员编号

管理员姓名

借阅信息表

StdID

借阅者学号

AstID

LDate

借阅时间

4.2用户子模式定义

编号

用户子模式(View)

作用(共性:

提供数据保密和安全保护机制)

V-1

BookView

便于查询和修改图书的基本信息

V-2

StudentView

方便读者基本信息的查询、更新

V-3

BorrowView

用于当前借阅信息的查询

借阅者基本信息视图

ReaDep

5物理设计

5.1物理设计阶段的目标与任务

数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:

(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;

(2)对物理结构进行评价,评价的重点是时间和空间效率。

5.2数据存储方面

为提高在表中搜索元素的速度,我们可以在数据库中为各基本表实际实现的时候应该基于键码建立索引,建立的索引如下:

(1)Book(BookID)

(21)Student(ID)

5.3实现设计

5.3.1建立数据库

createdatabaseBook;

5.3.2建立数据表

(1)建立Book表

CREATETABLEBook(

BookIDvarchar(20)

PRIMARYKEY,

Titlevarchar(50)

Notnull,

Authorvarchar(50),

Publishervarchar(50),

Pyearchar(4),

Languagechar

(1)

DEFAULT‘c’,

Statechar

(1)

DEFAULT‘0’

);

(2)建立Student表

CREATETABLEStudent(

IDchar(6)

Namevarchar(20)

Deptvarchar(20)

Notnull

(3)建立Assistent表

CREATETABLEAssistent(

(4)建立BBook表

CREATETABLEBBook(

BIDvarchar(20)

StdIDchar(6)

BDateDatetime

CONSTRAINFK_BBOOK_BID

FOREIGNKEY(BID)

REFERENCESBook(BookID)

CONSTRAINFK_BBOOK_StdID

FOREIGNKEY(StdID)

REFERENCESStudent(ID)

(5)建立RBook表

CREATETABLERBook(

StdIDchar(6)

Notnull,

RDateDatetime

CONSTRAINFK_RBOOK_BookID

FOREIGNKEY(BookID)

CONSTRAINFK_RBOOK_StdID

(6)建立Lend表

CREATETABLELend(

AstIDchar(6)

BookIDvarchar(20)

LDateDatetime

CONSTRAINFK_LEND_StdID

CONSTRAINFK_LEND_AstID

FOREIGNKEY(AstID)

REFERENCESAssistent(ID),

CONSTRAINFK_LEND_BookID

(7)建立Return表

CREATETABLEReturn(

RDateDatetime

CONSTRAINFK_REURN_StdID

CONSTRAINFK_RETURN_AstID

FOREIGNKEY(AstID)

CONSTRAINFK_RETURN_BookID

(8)管理员操作

增加学生:

INSERTINTOStudent(ID,Name,Dept)

VALUES(#StdNo,#Name,#Dept);

删除学生:

DELETEFROMStudent

WHERE(ID=#ID);

修改学生信息:

UPDATEStudent

SETName=#Name,Dept=#Dept

WHERE(ID=#ID);

增加书籍:

INSERTINTOBook(BookID,Title,Author,

Publisher,Pyear,Language)

VALUES(#BookID,#Title,#Author

#Publisher,#Pyear,#Language)

删除书籍:

DELETEFROMBook

WHERE(BookID=#BookID);

修改书籍信息:

UPDATEBook

SETTitle=#Title,Author=#Author,

Publisher=#Publisher,Pyear=#Pyear,

Language=#Language

WHERE(BookID=#BookID)

学生借阅图书:

BEGINTRANSACTION

INSERTINTOLend(StdID,AstID,BookID,LDate)

VALUES(#StdID,#AstID,#BookID,#LDate);

UPDATEBOOK

SETState=’2’

WHEREBookID=#BookID

COMMIT;

学生归还图书:

INSERTINTOReturn(StdID,AstID,BookID,RDate)

VALUES(#StdID,#AstID,#BookID,#RDate);

SETState=’0’

(9)学生的操作:

预订图书:

CREATEPROCBook_Book

@BookIDvarchar(20),

@StdIDchar(6),

@BDatedatetime

AS

DECLARE@TransNameVARCHAR(20)

SELECT@TransName=’Book_Book’

BEGINTRANSACTION@TransName

DECLARE@bookedint,@book_state_beforechar

(1),

@book_state_afterchar

(1)

SELECT@booked=count(*)FROMBBook

WHEREBID=@BookID

IF@booked>

0

ROLLBACKTRANSACTION@TransName

ELSEBEGIN

SELECT@book_state_before=stateFROMBook

WHEREBookID=@BookID

IF@book_state_before=’0’

SELECT@book_state_after=’1’

ELSEIF@book_state_before=’2’

SELECT@book_state_after=’3’

UPDATEBook

SETstate=@book_state_after

WHEREBookID=@BookID

INSERTINTOBBook(BID,StdID,BDate)

VALUES(@BookID,@StdID,@BDate)

COMMITTRANSACTION@TransName

END

GO

续借图书:

CREATEPROCRenew_Book

@RDatedatetime

SELECT@TransName=’Renew_Book’

DECLARE@bookedint

WHEREBID=@BookID

IF@booked=0

INSERTINTORBook(BookID,StdID,RDate)

VALUES(@BookID,@StdID,@RDate)

5.3.3建立视图

(1)用于查询图书基本信息的视图定义如下:

createviewBookview(书号,书名,作者,出版社,出版年,语种)

as

selectBookID,Title,Author,Publisher,Pyear,Language

fromBook

(2)用于借阅者基本信息查询的视图定义如下:

createviewReaderview(借阅者学号,借阅者姓名,系别)

selectID,Name,Dept

fromReader

(3)用于显示当前借阅基本信息的视图定义如下:

createviewLendview(读者编号,管理员编号,书号,借阅日期)

selectStdID,AstID,BookID,LDate

fromLend,Book

whereLend.BookID=Book.BookID

(4)用于借阅历史信息查询的视图定义如下:

createviewHistoryview(读者编号,书名,借阅日期,归还日期)

selectStdID,Title,Ldate

5.3.4建立索引

createclusteredindexPublisheronBook(Publisher);

createclusteredindexIDonStudent(ID);

5.3.5建立触发器

1.当删除Student表中某一读者基本信息时,触发Lend表,删除相应的记录

createtriggerStudent_delete

onStudent

fordelete

as

deleteLend

fromdeleted

whereLend.StdID=deleted.StdID

2.当在借阅表中增加一条借阅记录时,使该图书的状态由“可借”变为“不可借”

createtriggerLend_insert1

onLend

forinsert

declare@BookIDchar(20)

select@BookID=BookID

frominserted

updateBook

setBookState='

不可借'

whereBookID=@BookID

6具体实现

向Book表中增加书籍:

IN

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

当前位置:首页 > 初中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1