1、南昌航空大学实验报告二016 年 3 月 28 日课程名称: 数据库原理实验名称: 图书馆借阅系统班级: 420718 姓名: 胡合达 同组人: 指导教师评定: 签名: 一、实验环境1 Wndos200或以上版本;2 LSrver 2005.二、实验目得 了解并掌握数据库设计基本方法三 系统需求分析1、设计本系统模拟学生在图书馆借阅图书得内容,能够实现以下功能: 借阅信息得查询功能; 图书信息得多关键字检索查询; 图书得出借、返还及超期罚款;.能够提供一定得安全机制,提供数据信息授权访问,防止随意删改、查询.3。对查询、统计得结果能够列表显示。、处理对象:学生,馆藏图书信息,借阅信息,罚款信息
2、,借阅历史、安全性要求系统安全性要求体现在数据库安全性、信息安全性与系统平台得安全性等方面。安全性先通过视图机制,不同得用户只能访问系统授权得视图,这样可提供系统数据一定程度上得安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库得操作来提高数据库得安全性;系统平台得安全性体现在操作系统得安全性、计算机系统得安全性与网络体系得安全性等方面。6、完整性要求系统完整性要求系统中数据得正确性以及相容性。可通过建立主、外键,使用chek约束,或者通过使用触发器与级联更新。四 概念结构设计系统开发得总体目标就是实现图书馆管理得系统化与自动化,缩短借阅者得等待时间,减轻工作人员得工作量,方便工
3、作人员对它得操作,提高管理得质量与水平,做到高效、智能化管理,从而达到提高图书管理效率得目得。概念设计阶段主要就是将需求分析阶段得到得用户需求抽象为信息结构(概念模型)得过程,它就是整个数据库设计得关键。图书借阅系统得E-R图管理员罚款 读者 n m 管理 m 1 馆室借阅 m 1 n m n归还属于读者 图书 n n m ER图各实体得属性如下所示:图书:Book(BoID, BookNo, ookName,BoWriter, ookPublish,, BokDae,Boklss,BokState,ookRN)读者:eader(ReaID,ReaName,Sex,ReaNo,RaBID, R
4、eaDep, Rearade, Reaef, Reae,R)管理员: Manege (MID,Mame,MSx) 馆室: Rom(oNo,RoomMD,Roomum,RoomAddre)借阅信息:Borw(ooI,ReaderI,BoNae,BooWe, Otde,YHde)借阅历史:History(BookID,RederID,BookNa,ookWrier, Odat,Idae,YHe)罚款信息:Fie (BokID,ReaderID,BookNae,Oudat,ate,Fine,CLSat,MI)五 逻辑结构设计以上得概念设计阶段就是独立于任何一种数据模型得,但就是逻辑设计阶段就与选用得
5、BMS产品发生关系了,系统逻辑设计得任务就就是将概念设计阶段设计好得基本-图转换为选用DBMS产品所支持得数据模型相符合得逻辑结构。具体内容包括数据组织(将-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。将图书借阅图转换为关系模型图书列名数据类型可否为空说明BDCharnot null图书编号BookNoCharo l图书得索书号ooaehrntull图书得书名BokriterCarnot ul图书作者BokPulhCharn null图书出版社Boknum Smalint Nnull 图书数量ooDtete出版日期BkClassCha
6、r图书得分类BoknsmlintNo nul 图书可借数量BokStateChrnotnul图书就是否可借okNoCartnull图书所在馆室号读者列名数据类型可否为空说明eIDarotnul读者编号ReaNamehrot null读者姓名ReaSexCharntnul读者性别eaNCarnonul读者学号ReaeChar读者所在学院ReaPrefCar读者所属专业ReGadCar读者得年级ReateDateot nl办证日期ResSantNotnull 已借本数Reastt Char ot nnl 借书状态axmllntotul 借书上限 管理员列名数据类型可否为空说明MI主键Charnot
7、nul管理员编号MNaeharnot ull管理员姓名MSexCar管理员性别馆室列名数据类型可否为空说明RoomNChrnot null馆室号RoomMIDCharno l馆室管理员编号RoomnmCharntnl 馆室拥有图书数目omAdhar馆室地址RomTpe,ar馆室类型借阅信息列名数据类型可否为空说明ReaIDCharnot null读者编号BkIDCharnot nul图书编号BooamCharntnull图书名ookritrha作者OutdateDateot ull借阅时间InaeDte归还时间HdateDtenot nul应还时间FineCaNot nll 罚款金额CLSta
8、teChr处理状态IDharot nll管理员编号六 数据库得实施创建数据库及表格管理员基本信息表得建立:create abl Maneger(MI char(10) primar ke,MName har(10) not ull,Se char(2),he(MSex =男o Mex女))图书馆室基本信息表得建立:cete tble Ro(RoomNo char() pmay ey,omMID char(0) notnull,Roomnum har() ntnull ,oomddre char(20),RomTyp ha (0),forign ey(omMD)rfecesManeger(MI)
9、on deleteascaden updat cacade ,) 馆藏图书基本信息表得建立:creae tablB( okID char(9) rimry ky,ook chr(20) o nul,BokName h() ot ll, BokWiter cr(30)nt ull,oPubish ch(0) not null, Boonu smallint check (oonum0), BokDate datee, BkClas char(0),Bookns salintcec (Boonum=0), okSta ca(10) dfal 可借 nl, BooRo ca() ot nul,cek
10、(onuBoknums),forignkey(BokRNo) refeenes Room(Roomo)o deletecsad upda ade ,)读者基本信息表得建立:ce tableReader(ReaID char() prmay key,Raae char(1) tu,ReaSe char(2) notnul,ReaNo c(9) not nll,Resx maln not null,Rs smaint no null,aD car(20),Rarade har(),ReaPref char(0),ReaDat Datti,Reste car(5) ot uldefut 可借 ,fo
11、rig e(ReaLID)rfrnc ReadType(LBID)ondelete cascadn pdatecascade,heck(RaSex =男 orReaSe =女)(6)借阅基本信息表得建立:eat tablBrow(BookID cha(9),eaID har(),Outdate Daeime not ll,YHda Datetimnnull,Indat Dtetime,Fin car(5) nt nlldefaut 0,Ltate ca(8),MID char(10) not null,iar ey(BooID,ID),orign key(MD) reerees Mner(MD
12、)on dlete casade on upate asade )建立视图(1)用于查询图书基本信息得视图定义如下:rete vie Bokvi (索书号, 书名, 作者,出版社, 图书状态)aselect BooNo,Bookam,BokWr,okPublih,Bookttfro Book(2)用于读者基本信息查询得视图定义如下:create viewevie (读者姓名,类型,学院,专业,办证日期)aselct Raame,ReaType,eaDep,Prf,ReaDatefom eader(3)用于显示当前借阅基本信息得视图定义如下:rate iw Borrwvw (读者编号,书名,作者
13、,借阅日期,到期日期)aselec eaID,BokNme,BookWrter,Oudae,YHdatefromBorrow,Bookh Borow、BooIDBok、oDndBow、Indat isnll()用于借阅历史信息查询得视图定义如下:create vi Hisoryi (读者编号,书名,借阅日期,归还日期)asslec ReaID,ooNe,Outdae,InaefroBorrow,BokwheBorrw、ooIDBook、ookID nd Bow、Iatis ot ull(5)用于查询罚款信息得视图定义如下:createvieinvew (读者编号,书名,借阅日期,归还日期,罚款
14、,处理状态)sselectRaID,oome,utte,Indte,Fine,CLSaefom Bro,Bokweeoow、ookID=Bk、kIDadFineisnt ul建立索引createlser indxBookPublish n Book(BkPubish);creat lustereddex ReaDepn Rar(ReaDp); 建立触发器 当在中增加一条借阅记录时,书得可借数量减少一本,修改读者,并检查读者状态ceat trgerwiset1o orrowfor insertas dece BoI cha(9)dclaRaIDcar()ect ReaIDReaD frm isr
15、edeet BookID=BookIDro inetedlect Reastae =esate Fom Reader Wre ReaID =ReaId f(asate 不可借)BeginRaieror (该学生状态不可借书,16,) Rollbak transationdupdte Bokset ooknums=Booum1whe BookIDBookIpdate RedersetReaBs=Ra+1whereReID RID 当读者达到借书上限,设置借书状态为不可借rattrigge eadupdaeonRearforupdate s elare ReaBs smallint selctRa
16、Bs =ReBs frmnerteddeclre eaD char(9)selecteID=ReaI fo sertedetReasx =asxFrom Readrwer BookD=BookIDf(Resx=RBs ) Begn pateeaderset Reastate =不可借whreReaID=ReaID En 还书得时候,书得可借数量增加一本,修改读者状态reate trigger BorrowinsertoBorrworinsrts elr BookIDchar()decae ReaD cha(9)slt ReD=eaIfromnsertedselet ookDBoDro irte
17、dSelet Reatte =ReastateFrom Radr WhrReaD =ReaIdIf(Reatte =超期)BegiRaeror (该学生状态借书超期,16,1) Rollbak ranacon End pate okset BoknumsBonums1wereookID=BookIDupate Rederset RaBsReaBs-1where eaID =RaID 存储过程1、ook_nrt得定义:CREAE PROEURE BooknsrtBookI cr() ,BookNo chr(20),BookName har(5),BooWrer har(3),BookPubis
18、ch(20),BokDe dtete,BokCs char(20),Boknums mallnt,Booknum smallint,ookStte cha(10),BokR chr(5)asinser ito Bokvalus(BookID ,ooko,BokNam,BokWrier ,BookPubsh,BoDate,Bo kClass ,BookStat,BokRNo,Booknums,Boknum);2、RaerInet得定义:CREAE PREDR Reder_InseteaID cha(9),ReaName char(10),eaSex char(2),ReaNo char(9),e
19、aDp ch(0),RaGrae char(5),RePf ca(20),ReDate DateimReas saln,Reasatcar(),asx smallit, asnsertinto Reaervalues( ReID , ReaNam, ReaSx,RNo ,RaDp, eGrae ,ePf ,ReaDate,eaB,Rsate,Rea;3、aneerInsert得定义:EATE PROCEDURE Maneg_InertID a() ,Nehar(10),ex chr(),sisrtio negeal(ID ,MNam ,Me );4、Borrow_Iset得定义:CTE RCU
20、REBrrow_InsertBokID char(),ReaID chr(),Outdate tetime,Hdateeime ,Indae Daetime,Fine char(5),CLtate char(),MID char(10)asinse into Borowvue(oID ,ReaID ,Outdate ,YHdate ,Indate ,Fine ,CLSta ,MD);5、Query_Reader_R得定义:crea prcedureQueyReade_RReaID c(9)alectfRederiewhre 编号= ltim(ReaID);6、 Que_eder_M得定义:cr
21、eae pocedure Quer_ReadrMsset *frm Readeviw7、uery_ok_Wter得定义:eat podueQuey_ok_WriterBokWrie cha(50)asslect *frmBookvewwre 作者 lie+ltrim(oWrie);8、 uery_Book_Nm_Publish得定义:creatpcedQeryBook_Name_PublishBokName ca(50),Booublish ha(0)sele *mookewwre 书名=ltr(okNae)d 出版社ltrm(BooPublih);9、 Del_Red得定义:crae pocedue DeleteRderRe ar(9)aeletefrm eaderhere ReN= ltrim(RaNo);10、 Dleteo得定义:cret prodre Del_okBokI char(9)aseetefmBookwere BooID= ltim(BokID);七实验小结这次实验使我熟悉了如何独立得建立一个系统,通过自己所学得知识,综合运用,并了解自己得不足之处。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100