图书馆借阅系统数据库设计Word下载.docx

上传人:b****1 文档编号:6008244 上传时间:2023-05-05 格式:DOCX 页数:14 大小:106.53KB
下载 相关 举报
图书馆借阅系统数据库设计Word下载.docx_第1页
第1页 / 共14页
图书馆借阅系统数据库设计Word下载.docx_第2页
第2页 / 共14页
图书馆借阅系统数据库设计Word下载.docx_第3页
第3页 / 共14页
图书馆借阅系统数据库设计Word下载.docx_第4页
第4页 / 共14页
图书馆借阅系统数据库设计Word下载.docx_第5页
第5页 / 共14页
图书馆借阅系统数据库设计Word下载.docx_第6页
第6页 / 共14页
图书馆借阅系统数据库设计Word下载.docx_第7页
第7页 / 共14页
图书馆借阅系统数据库设计Word下载.docx_第8页
第8页 / 共14页
图书馆借阅系统数据库设计Word下载.docx_第9页
第9页 / 共14页
图书馆借阅系统数据库设计Word下载.docx_第10页
第10页 / 共14页
图书馆借阅系统数据库设计Word下载.docx_第11页
第11页 / 共14页
图书馆借阅系统数据库设计Word下载.docx_第12页
第12页 / 共14页
图书馆借阅系统数据库设计Word下载.docx_第13页
第13页 / 共14页
图书馆借阅系统数据库设计Word下载.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

图书馆借阅系统数据库设计Word下载.docx

《图书馆借阅系统数据库设计Word下载.docx》由会员分享,可在线阅读,更多相关《图书馆借阅系统数据库设计Word下载.docx(14页珍藏版)》请在冰点文库上搜索。

图书馆借阅系统数据库设计Word下载.docx

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

的安全性等方面。

6.完整性要求

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

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

check

 

四.概念结构设计

缩短借阅者的等待时间,减

做到高效、智能

系统开发的总体目标是实现图书馆管理的系统化和自动化,

轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,

化管理,从而达到提高图书管理效率的目的。

(概念模型)的过

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

图书借阅系统的E-R图

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

BookPublish”

图书:

Book(BooklD,BookNo,BookName,BookWriter,

BookDate,BookClass,BookState,

BookRNo)

读者:

Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaDep,ReaGrade,ReaPref,

ReaDate,Reasx)

管理员:

Maneger(MID,MName,MSex)

馆室:

Room(RoomNo,RoomMID,RoomNum,RoomAddre)

借阅信息:

Borrow(BooklD,ReaderlD,BookName,BookWriter,Outdate,YHdate)

借阅历史:

History(BooklD,ReaderlD,BookName,BookWriter,Outdate,

Indate,YHdate)

罚款信息:

Fine(BooklD,ReaderlD,BookName,Outdate,lndate,Fine,CLState,MID)

五.逻辑结构设计

E-R图转换

E-R图

以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS^品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本为选用DBM萨品所支持的数据模型相符合的逻辑结构。

具体内容包括数据组织(将转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功

能模块图)两大任务。

将图书借阅E-R图转换为关系模型

图书

列名

数据类型

可否为空

说明

BooklD

Char

notnull

图书编号

BookNo

图书的索书号

BookName

图书的书名

BookWriter

图书作者

BookPulish

图书出版社

Booknum

Smallint

Notnull

图书数量

BookDate

Date

出版日期

BookClass

图书的分类

Booknums

smallint

图书可借数量

BookState

图书是否可借

BookRNo

图书所在馆室号

、+-bz读者

RealD

读者编号

ReaName

读者姓名

ReaSex

读者性别

ReaNo

读者学号

ReaDep

读者所在学院

ReaPref

读者所属专业

ReaGrade

读者的年级

ReaDate

办证日期

ReaBs

已借本数

Reastate

Notnnll

借书状态

Reasx

借书上限

管理员

MID主键

管理员编号

MName

管理员姓名

MSex

管理员性别

馆室

RoomNo

馆室号

RoomMID

馆室管理员编号

Roomnum

馆室拥有图书数目

RoomAddre

馆室地址

RoomType.

馆室类型

借阅信息

ReaID

BookID

图书名

作者

Outdate

借阅时间

Indate

归还时间

YHdate

应还时间

Fine

罚款金额

CLState

处理状态

MID

六.数据库的实施

创建数据库及表格

管理员基本信息表的建立:

createtableManeger(

MIDchar(10)primarykey,MNamechar(10)notnull,MSexchar

(2),check(MSex='

男'

orMSex='

女'

))图书馆室基本信息表的建立:

check(Booknum>

Booknums),foreignkey(BookRNo)referencesRoom(RoomNo)ondeletecascadeonupdatecascade,

读者基本信息表的建立:

createtableReader(ReaIDReaNameReaSex

Reasxsmallintnotnull,ReaBssmallintnotnull,ReaDepReaGrade

ReaPref

Reastatechar(5)notnulldefault‘可借'

foreignkey(ReaLBID)referencesReaderType(LBID)ondeletecascadeonupdatecascade,check(ReaSex='

男'

orReaSex='

女'

)(6)借阅基本信息表的建立:

createtableBorrow(

CLStateprimarykey(BookID,ReaID),foreignkey(MID)referencesManeger(MID)ondeletecascadeonupdatecascade)

建立视图

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

createviewBookview(索书号,书名,作者,出版社,图书状态)as

selectBookNo,BookName,BookWriter,BookPublish,BookStatefromBook

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

createviewReaderview(读者姓名,类型,学院,专业,办证日期)asselectReaName,ReaType,ReaDep,ReaPref,ReaDate

fromReader

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

createviewBorrowview(读者编号,书名,作者,借阅日期,到期日期)as

selectReaID,BookName,BookWriter,Outdate,YHdate

fromBorrow,Book

whereBorrow.BookID=Book.BookIDandBorrow.Indateisnull

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

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

as

selectReaID,BookName,Outdate,Indate

whereBorrow.BookID=Book.BookIDandBorrow.Indateisnotnull

5)用于查询罚款信息的视图定义如下:

createviewFineview(读者编号,书名,借阅日期,归还日期,罚款,处理状态)asselectReaID,BookName,Outdate,Indate,Fine,CLState

whereBorrow.BookID=Book.BookIDandFineisnotnull

建立索引

createclusteredindexBookPublishonBook(BookPublish);

createclusteredindexReaDeponReader(ReaDep);

建立触发器

当在中增加一条借阅记录时,书的可借数量减少一本,修改读者,并检查读者状态createtriggerBorrow_insert1

onBorrow

forinsert

declare@BookIDchar(9)declare@ReaIDchar(9)select@ReaID=ReaIDfrominserted

select@BookID=BookIDfrominserted

Select@Reastate=Reastate

FromReader

WhereReaID=@ReaId

If(@Reastate='

不可借'

Begin

Raiserror(‘该学生状态不可借书'

,16,1)

Rollbacktransaction

EndupdateBook

setBooknums=Booknums-1whereBookID=@BookIDupdateReadersetReaBs=ReaBs+1

whereReaID=@ReaID当读者达到借书上限,设置借书状态为‘不可借'

createtriggerReader_update

onReader

forupdate

declare@ReaBssmallintselect@ReaBs=ReaBsfrominserted

declare@ReaIDchar(9)

select@ReaID=ReaID

frominserted

Select@Reasx=Reasx

whereBookID=@BookID

If(@Reasx=@ReaBs)

updateReader

setReastate='

whereReaID=@ReaIDEnd还书的时候,书的可借数量增加一本,修改读者状态

createtriggerBorrow_insert

WhereReaID=@ReaIdIf(@Reastate='

超期'

Raiserror(‘该学生状态借书超期'

,16,1)Rollbacktransaction

setBooknums=Booknums+1

whereBookID=@BookIDupdateReadersetReaBs=ReaBs-1

whereReaID=@ReaID

存储过程

1.Book_lnsert的定义:

CREATEPROCEDUREBook_lnsert

@BookPublishchar(20),

@BookClasschar(20),

@Booknumssmallint,@Booknumsmallint,

@BookStatechar(10),

@BookRNochar(5)asinsertintoBookvalues(@BookID,@BookNo,@BookName,@BookWriter,@BookPublish,@BookDate,@Bo

okClass,@BookState,@BookRNo,@Booknums,@Booknum);

2.Reader_lnsert的定义:

CREATEPROCEDUREReader_lnsert

@ReaBssmallint,@Reastatechar(5),

@Reasxsmallint,asinsertintoReadervalues(@ReaID,@ReaName,@ReaSex,@ReaNo,@ReaDep,@ReaGrade,@ReaPref,@ReaDate,@ReaBs,@Reastate,@Reasx;

3.Maneger_lnsert的定义:

CREATEPROCEDUREManeger_Insert

@MIDchar(10),

@MSexchar

(2),asinsertintoManegeralues(@MID,@MName,@MSex);

4.Borrow_lnsert的定义:

CREATEPROCEDUREBorrow_Insert

@YHdateDatetime,@lndateDatetime,@Finechar(5),@CLStatechar(8),@MIDchar(10)asinsertintoBorrow

@Indate,@Fine,@CLState,@MID);

values(@BookID,@ReaID,@Outdate,@YHdate

5.Query_Reader_R的定义:

createprocedureQuery_Reader_R

@ReaIDchar(9)asselect*fromReaderviewwhere编号=ltrim(@ReaID);

6.Query_Reader_M的定义:

createprocedureQuery_Reader_M

select*fromReaderview

7.Query_Book_Writer的定义:

createprocedureQuery_Book_Writer

@BookWriterchar(50)

asselect*fromBookview

where作者like'

%'

+ltrim(@BookWriter)+'

;

8.Query_Book_Name_Publish的定义:

createprocedureQuery_Book_Name_Publish

@BookNamechar(50),@BookPublishchar(20)as

select*

fromBookview

where书名=ltrim(@BookName)and出版社=ltrim(@BookPublish);

9.Delete_Reade的定义:

createprocedureDelete_Reader

@ReaNochar(9)asdeletefromReaderwhereReaNo=ltrim(@ReaNo);

10.Delete_Book的定义:

createprocedureDelete_Book

@BookIDchar(9)asdeletefromBookwhereBookID=ltrim(@BookID);

七.实验小结

这次实验使我熟悉了如何独立的建立一个系统,通过自己所学的知识,综合运用,并了解自己的不足之处。

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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