图书馆借阅系统数据库设计_第1页
图书馆借阅系统数据库设计_第2页
图书馆借阅系统数据库设计_第3页
图书馆借阅系统数据库设计_第4页
图书馆借阅系统数据库设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、南昌航空大学实验报告二016 年3 月28 日课程名称:数据库原理实验名称:图书室借阅系统班级:14207218 姓名: 胡合达 同组人: 指导教师评定: 署名: 1 . Windows2000 或以上版本;2. SQLServer 2005 。:、实验目的认识弁掌握数据库设计基本方法三.系统需求剖析1 .设计本系统模拟学生在图书室借阅图书的内容,可以实现以下功能:借阅信息的查问功能;图书信息的多重点字检索查问;图书的出借、返还及超期罚款;2 .可以供给必定的安全体制,供给数据信息受权接见,防备任意修改、查问。3 .对查问、统计的结果可以列表显示。4 .办理对象:学生,馆藏图书信息,借阅信息,

2、罚款信息,借经历史5 .安全性要求系统安全性要求表此刻数据库安全性、信息安全性和系统平台的安全性等方面。安全性先经过视图体制, 不一样的用户只好接见系统受权的视图,这样可供给系统数据必定程度上的安全性,再经过分派权限、设置权限级别来差别对待不一样操作者对数据库的操作来提升数据库的安全性; 系统平台的安全性表此刻操作系统的安全性、计算机系统的安全性和网络系统的安全性等方面。6 .完好性要求系统完好性要求系统中数据的正确性以及相容性。可经过成立主、外键,使用check拘束,或许经过使用触发器和级联更新。四.观点构造设计系统开发的整体目标是实现图书室管理的系统化和自动化, 缩短借阅者的等候时间, 减

3、 轻工作人员的工作量,方便工作人员对它的操作, 提升管理的质量和水平, 做到高效、 智能 化管理,进而达到提升图书管理效率的目的。观点设计阶段主假如将需求剖析阶段获得的用户需求抽象为信息构造 (观点模型)的过 程,它是整个数据库设计的重点。图书借阅系统的 E-R图E- R图各实体的属性以下所示:图书: Book(BookID. BookNo, BookName, BookWriter, BookPublish, BookDate,BookClass,BookState,BookRNo)读者:Reader(ReaIDyReaName,ReaSex,ReaNo,ReaLBID, ReaDep, R

4、eaGrade, ReaPref, ReaDate , Reasx)管理员: Maneger (MID,MName,MSex)馆室: Room(RoomNo,RoomMID,RoomNum,RoomAddre)借阅信息:Borrow(BookID,ReaderID,BookName,BookWriter, Outdate,YHdate)借经历史:History(BookID,ReaderID,BookName,BookWriter, Outdate,Indate,YHdate)罚款信息:Fine (BookID,ReaderID,BookName,Outdate,Indate,Fine, CL

5、State,MID)五.逻辑构造设计以上的观点设计阶段是独立于任何一种数据模型的,可是逻辑设计阶段就与采用的DBMS产品发生关系了,系统逻辑设计的任务就是将观点设计阶段设计好的基本E-R图变换为采用DBMS产品所支持的数据模型相切合的逻辑构造。详细内容包含数据组织(将E-R图变换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据办理(画出系统功能模块图)两大任务。将图书借阅E-R图变换为关系模型图书BookIDCharnot null图书编号BookNoCharnot null图书的索书号BookNameCharnot null图书的书名BookWriterCharnot null图

6、书作者BookPulishCharnot null图书第一版社BooknumSmallintNot null图书数目BookDateDate第一版日期BookClassChar图书的分类BooknumssmallintNot null图书可借数目BookStateCharnot null图书能否可借BookRNoCharnot null图书所在馆室号、七七 民的列名数据不性能否为空说明ReaIDCharnot nullReaNameCharnot null读者姓名ReaSexCharnot null读者性别ReaNoCharnot null读者学号ReaDepChar读者所在学院ReaPref

7、Char读者所属专业ReaGradeChar读者的年级ReaDateDatenot null办证日期ReaBsSmallintNot null已借本数ReastateCharNot nnll借书状态ReasxSmallintNot null借书上限管理员MID主键Charnot null管理员编号MNameCharnot null管理员姓名MSexChar管理员性别馆室数据不性能否为空一RoomNoCharnot null馆室号RoomMIDCharnot null馆室管理员编号RoomnumCharnot null馆室拥有图书数目RoomAddreChar馆室地点RoomType,Char馆

8、至种失借阅信息数据不性能否为空说明ReaIDCharnot nullBookIDCharnot null图书编号BookNameCharnot null图书名BookWriterChar作者OutdateDatenot null借阅时间IndateDate送还时间YHdateDatenot null应还时间FineCharNot null罚款金额CLStateChar办理状态MIDCharnot null管理员编号六.数据库的实行创立数据库及表格管理员基本信息表的成立:create table Maneger(MID char(10) primary key,MName char(10) no

9、t null,MSex char(2),check(MSex ='男'or MSex ='女')图书室室基本信息表的成立:create table Room(RoomNochar(5) primarykey,RoomMIDchar(10) not null,Roomnumchar(5) not null ,RoomAddre char(20),on update cascade ,RoomType char (10),foreign key(RoomMID) references Maneger(MID)on delete cascade)馆藏图书基本信息表的成

10、立:create table Book(BookIDchar(9) primarykey,BookNochar(20) not null,BookName char(50) not null,BookWriterchar(30) not null,BookPublish char(20) not null,Booknum smallint check (Booknum>=0),BookDate datetime,BookClass char(20),Booknums smallint check (Booknum>=0),BookStatechar(10) default '

11、;可借'not null,BookRNochar(5) not null,check (Booknum>Booknums ),foreign key(BookRNo) references Room(RoomNo)on delete cascade)读者基本信息表的成立:create table Reader(RealDchar(9)primary key,ReaNamechar(10) not null,ReaSexchar(2)not null,ReaNochar(9)not null,Reasx smallint not null,ReaBs smallint not nu

12、ll,ReaDepchar(20),ReaGrade char(5),ReaPrefchar(20),ReaDateDatetime,Reastate char (5) not null default '可借',foreign key(ReaLBID) references ReaderType(LBID)on delete cascadeon update cascade ,check(ReaSex ='男'or ReaSex ='女') )(6)借阅基本信息表的成立:create table Borrow(BookID char(9),Re

13、aID char(9),OutdateDatetime not null,YHdateDatetime not null,IndateDatetime,Finechar(5) not null default '0',CLState char(8),MIDchar(10) not null,primary key(BookID,ReaID), foreign key(MID) references Maneger(MID)on delete cascadeon update cascade)成立视图(1)用于查问图书基本信息的视图定义以下:create view Bookvie

14、w ( 索书号,书名,作者,第一版社,图书状态) asselect BookNo,BookName,BookWriter,BookPublish,BookState from Book(2)用于读者基本信息查问的视图定义以下:create view Readerview (读者姓名,种类,学院,专业,办证日期)asselect ReaName,ReaType,ReaDep,ReaPref,ReaDate from Reader(3)用于显示目前借阅基本信息的视图定义以下:create view Borrowview ( 读者编号,书名 作者,借阅日期,到期日期)asselect ReaID,B

15、ookName,BookWriter,Outdate,YHdatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is null(4)用于借经历史信息查问的视图定义以下:create view Historyview (读者编号,书名,借阅日期,送还日期)asselect ReaID,BookName,Outdate,Indatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is notnull ( 5)用于查问罚款信息的视图

16、定义以下:create view Fineview (读者编号,书名,借阅日期,送还日期,罚款,办理状态)asselect ReaID,BookName,Outdate,Indate,Fine,CLStatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Fine is not null成立索引create clustered index BookPublish on Book(BookPublish);create clustered index ReaDep on Reader(ReaDep);成立触发器当在中增添一条借阅记录时,书的

17、可借数目减少一本,改正读者,并检查读者状态create trigger Borrow_insert1on Borrowfor insert asdeclare BookID char(9)declare ReaID char(9)select ReaID=ReaID from insertedselect BookID=BookIDfrom insertedSelect Reastate =ReastateFrom ReaderWhere ReaID =ReaIdIf(Reastate =不行借)BeginRaiserror ('该学生状态不行借书,16,1)Rollback tran

18、sactionEndupdate Bookwhere BookID=BookIDupdate Readerset ReaBs=ReaBs+1where RealD =ReaID当读者达到借书上限,设置借书状态为不行借create trigger Reader _updateon Readerfor update asdeclare ReaBs smallintselect ReaBs =ReaBsfrom inserteddeclare ReaID char(9)select ReaID=ReaIDfrom insertedSelect Reasx =ReasxFrom Readerwhere

19、 BookID=BookIDIf(Reasx =ReaBs )Beginupdate Readerset Reastate =' 不行借 'where ReaID =ReaIDEnd还书的时候,书的可借数目增添一本,改正读者状态create trigger Borrow_inserton Borrowfor insertasdeclare BookID char(9)declare ReaID char(9)select ReaID=ReaIDfrom insertedselect BookID=BookIDfrom insertedSelect Reastate =Reast

20、ateFrom ReaderWhere ReaID =ReaIdIf(Reastate ='超期)BeginRaiserror ('该学生状态借书超期,16,1)Rollback transactionEndset Booknums=Booknums+1 where BookID=BookID update Readerset ReaBs=ReaBs-1 where RealD =ReaID储存过程1.Book_Insert 的定义:CREATE PROCEDURE Book_Insert BookIDchar(9),BookNochar(20),BookName char(5

21、0), BookWriter char(30), BookPublish char(20), BookDatedatetime,BookClasschar(20),Booknums smallint, Booknum smallint, BookStatechar(10),BookPublish ,BookDate,BoBookRNo char(5) as insert into Book values(BookID ,BookNo,BookName,BookWriterokClass ,BookState ,BookRNo, Booknums,Booknum );2 .Reader_Inse

22、rt 的定义 : CREATE PROCEDURE Reader_Insert ReaIDchar(9),ReaNamechar(10),ReaSexchar(2),ReaNochar(9),ReaDepchar(20),ReaGradechar(5),ReaPrefchar(20),ReaDateDatetimeReaBs smallint, Reastate char(5), Reasx smallint, as insert into Readervalues( ReaID , ReaName, ReaSex,ReaNo ,ReaDep ,ReaGrade ,ReaPref ,ReaDa

23、te, ReaBs,Reastate,Reasx ;3 .Maneger_Insert 的定义 :CREATE PROCEDURE Maneger_InsertMID char(10),MName char(10), MSex char(2), as insert into Maneger alues(MID , MName ,MSex );4 .Borrow_Insert 的定义 :CREATE PROCEDURE Borrow_InsertBookID char(9),ReaID char(9), Outdate Datetime , YHdate Datetime , Indate Datetime, Fine char(5), CLState char(8), MID char(10) as insert into Borrowvalues(BookID ,ReaID ,Outdate ,YHdate ,Indate ,Fine ,CLState ,MID );5. Query_Reader_R 的定义:create procedure Qu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论