1、基于MYSQL的图书管理系统数据库设计(完整资料)(可以直接使用,可编辑 优秀版资料,欢迎下载)题目:基于MYSQ图书管理系统数据库设计目录。题目概述32需求分析32.1功能需求2.2数据需求42.3数据安全与约束42. 数据流图53。概要设计31 实体及联系6.2R图4.逻辑结构设计94.1 数据库模型942 数据库模型函数依赖集105.程序设计1251图书管理系统的功能模块12。主要模块的功能描述25。3数据库源代码13。.1数据库表设计135.数据初始化155.33单表查询75.4借书操作185.5超期处理0。3.6还书操作1。.7书籍状态235.3.8读者状态246.运行环境描述26。
2、1选择语言6.1。1QL语言的特点26.2 S功能与特性261。 UML语言的特点276.2选择数据库27。参考文献21.题目概述在对该校的图书馆进行调研时发现,图书馆内的部分工作采用的还是手工操作,管理起来效率低下,对师生对图书的需求意图了解不够充分,不能及时的查询各类图书的存储状况等;图书的动态调整缓慢,不利于满足师生对图书的借阅需求。手工操作存在大量的弊端,例如一些人为因素,手动操作经常造成图书数据的遗漏和误报等。学校图书馆为了提高管理和借阅效率,决定采用计算机管理,经与图书馆管理人员交谈,得知:(1) 学校师生必须在图书馆先办理借阅证,然后方可借阅图书资料。(2) 图书馆对书籍原来有一
3、套卡片登记制度,现在需要将其查询功能移植入计算机(当然相应地也必须建立图书登记、报废等记录)。(3) 借阅图书从原来的手工填写借阅单据改为计算机登记借阅.(4) 提供挂失、预约、综合查询等新功能以方便读者。(5) 为了图书馆管理的需要,提供一定的统计功能.2.需求分析2.功能需求()图书管理1.新书入库:对新购进的图书进行必要的登记。2图书资料修改:对图书的数量,分类,流通/馆藏等资料进行修改。3.图书查询提供多种查询,定位图书的方法.可以通过图书编号、类别、书名、作者、出版社、出版日期等信息查询。(2)读者管理1增加新读者:为新读者办理借书证。读者要区分教师和学生。教师和学生可以借阅的图书的
4、种类和数量不同.。读者资料修改:除能对个别读者的信息进行修改外,还能对读者信息进行批量修改。对借书证进行挂失、取消挂失、证件注销等处理。当读者有未还图书时,不允许注销.3。读者资料查询:提供多种方法对读者信息,以及该读者的借阅信息进行查询。(3)借阅管理1.借书:根据书号借书.每本书有一定的借阅期限,每位读者借阅的数量不能超过允许的数量.图书借阅必须进行必要的登记,并通知读者还书的日期等相关事宜。若因为某种原因不能借出,要说明理由。如图书是馆藏或已借完等。2.还书:对超期、损坏的图书应进行罚款处理。3.挂失:对丢失图书视不同书籍进行不同数量的罚款。4。预约:根据书号对已借完的图书进行预约。对预
5、约的读者的证号、联系电话、地址、Email等信息进行登记。当预约图书被其他读者还回时要作记录,以便通知管理员通知预约读者。5续借:对续借次数要有限制。对已预约的图书不允许续借.(4)综合查询综合查询主要面向读者。普通读者能采用多种方式对图书的当前库存数量、图书内容等信息进行查询。也能根据借书证号对自己的借阅情况进行查询。(5)统计1对不同种类图书的数量,库存等信息进行统计2对每种图书在一定时期的借阅次数,预约次数等信息进行统计。对不同读者的借阅情况进行统计2。2数据需求(1)图书基本数据。银行标识:不超过10个汉字2.帐号:18位数字,同一银行之下的帐号必须唯一3。编号4.ISBN号5。书名:
6、不超过30个汉字.文种7作者:因为可以有不止一个作者,规定一个作者的姓名长度不超过5个汉字,且为了查询方便,不能把多个作者放在同一个属性中.8.出版社:不超过20个汉字9。出版日期10。价格11.主题词1主题词13。主题词31流通册数15馆藏册数等(2)读者基本数据。证号:不超过10位数字2。姓名:不超过5个汉字3。单位:不超过0个汉字4。职务:不超过个汉字或者用职务编号代替5卡数等2。3 数据安全与约束系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别
7、来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。数据是在外部互联网络以及图书馆内部局域网中进行流动和存储的,要保证其在这一过程中的安全稳定。对于图书馆数据安全来说,就是要防止数据在传输和使用的过程中被非法复制、更改、删除和使用等。为了达到这一目的,就需要开发相应的信息管理技术和建立相应的图书馆数据信息管理系统。通过保障图书馆软件系统和硬件系统的安全稳定运行,使得图书馆数据服务系统可以持续工作,不因内部数据错误和外界人为或环境的干扰而出现中断,达到保护数据安全的最终目标。2。4 数据流图(1)图书借阅的业
8、务流程图:图2系统的数据流程图概要设计3.1实体及联系(1)书籍类别(种类编号,种类名称)(2)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)()书籍(书籍编号,书籍名称,书籍类别,书籍作者,出版社名称,出版日期,登记日期,是否被借出)()借阅(借书证编号,书籍编号,读者借书时间)(5)还书(借书证编号,书籍编号,读者还书时间)()罚款(借书证编号,读者姓名,书籍编号,书籍名称,罚款金额,借阅时间)3.2ER图根据功能需求,可以建立实体之间的关系,进而实现逻辑结构功能。图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体
9、。(1)书籍类别实体E-图:图3-1书籍类别实体-R图(2)读者信息实体ER图:图32 读者信息实体E-R图(3)书籍信息实体E图:图33书籍信息实体E-图(4)借阅记录信息实体ER图:图3-4借阅记录信息实体E-R图()归还记录信息实体R图:图5归还记录信息实体E-图(6)罚款信息实体ER图:图3-罚款信息实体E-图(7)总的信息实体ER图:图37总的信息实体E-R图4逻辑结构设计4。数据库模型数据字典:表4-1 book_syle 书籍类别信息表表中列名数据类型可否为空说明booksenarchrNotnull(主键)种类编号booktyleVaharNt nl种类名称表42 stem_r
10、eaders读者信息表表中列名数据类型可否为空说明rederidVrharNotnl(主键)读者借书证号readenameVarchrNo nu读者姓名reaersexarcharot null读者性别redertypeVrchal读者种类regdatDatemeNl登记日期表4-3 systok书籍信息表表中列名数据类型可否为空说明booidVrcho n(主键)书籍编号boknamearcharo nul书籍名称bookstlVrchNt ul书籍类别boouthorVarharNot ull书籍作者boobarchaNull出版社名称bookpudatateimNull出版日期okida
11、teatetimeNull收录日期isorrowedarchrNo ll是否被借出表4-4 borow_record 借阅记录信息表表中列名数据类型可否为空说明readeriVrharNot nul(外主键)读者借阅证编号ookiarharNot nu(外主键)书籍编号borowdateaharNot l读者借书时间表45rrn_record 归还记录信息表表中列名数据类型可否为空说明radrmeVrcarNot nul(外主键)读者借阅证编号readerVarcarotnll(外主键)书籍编号trdateDatetimeNot nl读者还书时间表6 reder_fee 罚款记录信息表read
12、eridVrcarNo nll读者借书证编号redernaeVarcharNo null读者姓名ookdVacharNot null(外主键)书籍编号bokaeVarNotnull书籍名称bookfeVrchrNt Nul罚款金额rwdateDaetieNot Nul借阅时间 数据库模型函数依赖集(1) 书籍类别关系中种类编号为主键,其中函数依赖有:种类编号种类名称。因为书籍类别关系中不存在非主属性对码的部分函数依赖和传递函数依赖关系,所以客户关系是属于3N。(2)书籍关系中书籍编号为主键,其中函数依赖有:书籍编号书籍名称,书籍编号书籍类别,书籍编号书籍作者,书籍编号出版社名称,书籍编号出版日
13、期,书籍编号登记日期。因为书籍关系中不存在非主属性对码的部分函数依赖和传递函数依赖关系,所以客户关系是属于3NF。(3)读者关系中读者借书证号为主键,其中函数依赖有:读者借书证号读者姓名,读者借书证号读者性别,读者借书证号读者种类,读者借书证号登记日期。因为读者关系中不存在非主属性对码的部分函数依赖和传递函数依赖关系,所以客户关系是属于3NF。(4)借阅关系中(借书证编号,书籍编号)为主键,其中函数依赖有:(借书证编号,书籍编号)读者借书时间.因为借阅关系中不存在非主属性对码的部分函数依赖和传递函数依赖关系,所以客户关系是属于F。(5) 还书关系中(借书证编号,书籍编号)为主键,其中函数依赖有
14、:(借书证编号,书籍编号)读者还书时间。因为还书关系中不存在非主属性对码的部分函数依赖和传递函数依赖关系,所以客户关系是属于3NF.(6) 罚款关系中书籍编号为主键,其中函数依赖有:书籍编号借书证编号,书籍编号读者姓名,书籍编号书籍名称,书籍编号罚款金额,书籍编号借阅时间。因为罚款关系中不存在非主属性对码的部分函数依赖和传递函数依赖关系,所以客户关系是属于3NF。5程序设计。1图书管理系统的功能模块图51图书管理系统的功能模块5.主要模块的功能描述本系统分为个模块。包括用户管理模块,图书管理模块,借阅管理模块,和信息查询模块.()用户管理模块用户管理模块的功能主要包括用户信息(管理员用户、师生
15、用户)的新增、修改、删除、查询等功能.1新增用户借书证面对学校每年大量的新入学新生,需提供快捷的、完善的用户增加功能。图书管理员用户的注册,为新进员工分配图书管理员账号,主要由系统管理员负责。注销用户借书证主要是在学生毕业时或职工离职时,可单个或批量删除用户信息,确保图书管理系统安全性.3.修改用户信息在图书馆的日常工作中难免发生问题或差错,会产生错误的用户信息,修改功能通过账号查找用户信息,并对用户估息的可修改项进行修改。4.查询功能通过用户管理模块,拥有查询权限的管理员可以查询用户及管理员的用户信息,一般提供通过账号、姓名、借出图书所有者等信息进行查询,返回用户信息,方便图书管理系统的统一
16、管理.(2)图书信息管理模块图书信息管理模块主要包括图书信息录入、图书信息修改、图书信息删除、图书信息查询等功能。1.图书信息录入对新进图书进行图书信息的录入,单本图书录入一般由图书管理员负责,图书管理员录入图书基本信息,系统将根据图书的基本信息为图书分配一个唯一的编号,并实时更新数据库,方便用户查询。图书信息修改图书信息修改通过输入的图书名称、图书编号等基本信息中的一项或多项进行图书信息的查看,并修改该图书信息,这一个功能一般由图书管理员操作。图书信息删除图书删除功能通过录入图书名称、图书编号等基本信息中的一项或多项进行图书信息的查看,进而删除该图书信息,一般由拥有删除权限的图书管理员操作.
17、(3)借阅信息管理模块借阅信息管理模块包括图书借阅、图书归还、超期罚款等功能。1图书借阅图书借阅需审核用户信息及图书信,审核通过将修改系统数据库中图书信息以及用户信息.审核不通过将返问错误信息给用户。2图书归还图书归还时,图书管理员将检查图书是否有破损,以及是否违反图书馆管理规则,例如图书过期等。审核完成后修改数据库中图书信息以及用户信息,完成图书归还工作。3.超期罚款用户在借阅过程中,如出现超期现象,将产生超期罚款,超期罚款缴纳前用户图书证处于锁定状态,不容许继续借阅图书,直到用户解锁后,即用户交完罚款后,实时更新数据库。(4)信息査询模块信息查询模块主要为师生用户提供借阅信息查询功能,用户
18、通过登录查询网站,录入用户学号,返回查询结果中包括借阅图书基本信息、借阅时间,归还时间,是否超期等信息.数据库源代码5。1数据库表设计(1)创建书本类别表cratetabeboktle( bkstyle achar(30) piay ky, bostylearca(0))(2)创建书库表ceae talesytm_books( bookidvarchar(20) primry , bokna vara(30) ot null, boktn archar(0) Nt nul, bookautho varcar(0), ookpu rchar(0),bookubdteatetime, bookin
19、dat aetie, isborroed varchar (2) ,orgkey (bookyeno) referenes bo_tyle(bookstylno),)(3)创建借书证表re tabl ystem_rdes( readrid cha()primary key,redernae rchar(9)ot nul ,adrse car()no null,redrtypevrr(0), rgdtdme)(4)创建借书记录表crat tablebororecord(bookid rcar(20) pay ey,eerid varch(), brrowdate dtetme,foregnkey
20、 (bookid) rfrenes sysmbok(okid), ogn ky(rai) rernesysm_raders(reaeid),)(5)创建还书记录表eate tle eturn_ecord( kvarchar(20) primry ey, raderidarcha(9), eturndate attim, foreigney(bookd) referenc sysem_boks(bkid),freig ey (readeri) rerenes syemreader(eadrd)()创建罚款单表cete tableeadrfee( raderid archar(9)nt ull,
21、readename varchar(9)not ul , bookid vrcha(20) primay ey, bookam var(30) Not nul, oofeevarcha(0) ,borroae dattme, foreign key (bokd)rferencessytm_oos(booid), foreigey (readerid) rerences systm_reder(reaer)5。3.2数据初始化(1)初始化书籍类别表book_syleinsertino book_tyle(ooktleno,ookstyl)valus(1,哲学宗教) inert ino book_
22、stye(bokstylno,ooksle)vues(2,文学艺术)insrt into bok_stye(bosyeo,oktyl)vaues(3,历史地理)nr ino bok_stl(bostyeno,bookstl)values(4,数理科学)insert into bok_stye(ostylen,ooksle)vaes(,生物科学)nset io bok_st(bokstylno,bostyle)vales(6,交通运输)nsert inobook_stl(bokeno,boksyle)vaus(,政治法律)(2)将已有的图书加入sstemooks表中nsetino stm_ook
23、s(bok ,boname, bookstyleo,ookauthor,bop,bookpbate, bookinate, isrowe )alues(2061120,中国易学,1,刘正,中央编译出版社,2155-10,0151025,1);inserntosst_book(bokid ,bookn, boostyleno,okauthr,bokpb,boubate,booknae, sborwed )vae(01002,初妆张爱玲,2,陶舒天,新华出版社,01-01-,2015-02,);eto ytemooks(booki,bookame, bookstyln,boauthr,bokpu,
24、 bokpbdate,oodate,isborrwe )ales(16111200,明成祖传,3,晁中辰,人民出版社,201010,201-0527,1);insertnt ysebooks(bokd,on,boksteno,bookuthor,bokpub,oopuae, bookindate,iborow )value(20161112004,高等数学,李东,重庆大学出版社,014081,20150-28,);stito sste_book(boid,bonam, oksteno,bookaur,bokpb,bkpubae,ooknda,iborrowe )ales(2011125,转基因
25、解析,5,杨青平,河南人民出版社,21400,205052,1);insertnt sysem_books(bd ,booknae,bostyleno,bokathor,bookub, okpubate,ookinat, sbre )value(201111206,铁路选线设计,6,易思蓉,重庆大学出版社,201401-10,2015030,);insrtit sysem_books(bokid,bookname,botyleo,bookauhr,bookpb, bookua,booknda, isbowe )vlus(2112007,民事诉讼实务教程,7,秦涛,华东理工大学出版社,214-0
26、910,211,1);nstint ytem_bok(ookid,onme, bokstleno,ookhor,bokpu, bookpubate,bokidate, sorowd )vaues(2016120,一楣月下窗,2,程然,四川人民出版社,2149-10,215530,1);()将已有图书证的读者加入syem_readers表中insert io sem_eaers(radeid,readerae,readersex,eadeye,rede)aue(2015101,姬彦雪,女,学生,205-01-01 2:0);nert int stemrads(readri,reaeram,rea
27、dersex,ederp,rgda)vaues(0110,郝永宸,男,学生,0150102 1:15);nsertt ss_reders(eadid,raerne,reade,readrtpe,edate)vlues(20151103,于新磊,男,学生,2015-1-31:3);insr nosyte_readers(readeid,reaename,radesx,rerype,gdte)vlues(201514,殷娜梅,女,学生,2015014 :01);insert int st_rae(eadid,deam,rearse,eadetype,redate)value(20151,宋天鸣,男
28、,学生,2015-055:23);ert ntoystem_rader(rederid,readenam,redsex,readetype,rgdat)ales(20111,石逸轩,男,教师,201501-06 18:50);inert ino syste_raer(eaderid,ename,edersex,readerype,regdte)values(011202,孟灵丽,女,教师,01-178:2);insernto stem_eaders(readerd,rdernae,eaderex,redert,regdate)aes(01,陈慧,女,管理,2015-10 1:20);(4)添加
29、已借书读者的记录,同时将在已借出的借阅标记置0insertino borow_ord(booid,rarid,browte)vlue(2011112005,21510,2015-0711 2:20);udatssmboos stisborrwe booki=201611205ad isborowe=1;irtntoorrow_ecord(bokd,radei,orowdate)values(201110,151101,20001 13:15);pdate sye_bosset sbre=0where bokid=2016111200and sbrod=;ne int brrow_recd(bo
30、oid,readerd,borrowde)vlues(2016111200,2051102,215-07-31:3);udate systembookseibrrow=0whre oki=20111202ad isborrowed;inert intobrrw_rcd(bokid,radrid,borroate)valus(20611120,211121,20150711 1:1);pdate system_boket iborrwed0whe bokid=20161104an isorrowed=;53。3单表查询(1)书籍类别表查询演示:查询语句:lecfrom boks图-2表bokst
31、le中内容(2)表书库表查询演示:查询语句:select*ro sstem_bos图53 表ysembooks中内容(3)将已有图书证的读者加入读者表结果查询:查询语句:electfrom syserees图4 表stemreer中内容(4)借书纪录表结果查询:查询语句:sletro borrow_rcod图54 表borrow_ecord中内容5。.4借书操作()查询未被借出的书本:查询语句:seltbok 书籍编号,booknam 书籍名称from syste_bokswher ibrrowed=1图5-5 未被借出的书本查询结果(2)查询已被借出的书本:查询语句:sl boki书籍编号,
32、bknae书籍名称r sytem_bokswhere isborroed=图56已被借出的书本查询结果(3)新增用户借书证:Insrt into semreer(readed,eaername,eaders,reartype,gate)values(201110,马悦,女,学生,o()查询语句:eect*fom sstm_raerswhre radeid=2011106图5-7 新增用户借书证查询结果(4)注销用户借书证:注销之前执行所有的还书过程,马悦借书证纪录就被删除了,同时要删除马悦归还纪录的内容。delterm sytemreaders where raerid=201106;eet
33、fro turnrecor whee readerid=2051106;确认马悦是否被删除查询语句:selet*fromsystmreadeswhr raderid=20151图8 注销用户借书证查询结果53。超期处理(1)现在对已有借书证的读者进行查询借书是否超期查询语句(这里规定0天):eec sste_reaers。aderid读者借书证编号,readerae读者姓名,system_books.ood 书籍编号,booknam 书名,boroat 借书时间,datedif(ow(),brwte)30fro brow_ecor ,ystreaers,systmbkheresstem_rea
34、er。readerid=orowrcod.readeridadembks。ookid=orro_recrdbkad datiff(now(),orrowdate)30图5 借出超过3天的读者(2)对超过天数的读者进行罚款,加入到罚款单里面,一天以0.1元扣除计算:nrtint readr_ee(reaed,redenme,bookd,booknae,bofee,borowate);selt fro reer_fee图510 罚款单查询结果.。6还书操作(1)首先还书要在还书纪录中添加一条还书纪录insertintorturn_ecord(boki,redrid,returnate)seec o
35、oi,raerid,20152from brrwrecordwre bookd=20161104查询语句:elet fr rturn_record图511 增加了061112004纪录(2)其次删除相应书本的借阅纪录eletefrm bow_ecorwere oki=21204查询语句:selec* fomorrow_record图5-12 删除2161100记录(3)最后在书库中标记该本书为1,表示归还了未借,可供其他读者借阅updatytm_bookse isbrrowed=wher bokid=20111204查询语句:elet booki 书籍编号,boknae 书籍名称,isbrrw
36、e是否借出fromsysem_boshre bookid20611200图513 标记设为5.3.7书籍状态(1)查询所有书所对应的类别查询语句:seledsintokname 书籍名称,bookstyl 书籍类别fomok_style,sm_ookswhere book_yl。bosno=sysm_bok。bktylno图14 书籍对应类别查询结果(2)查询所有文学艺术类的书:查询语句:seecdistint booname书籍名称,bookyle 书籍类别m booksle,sytem_bokswhrebookyleostlen=sytem_booksbookstylenond syste
37、m_ooksbostyeo2图5-15所有文学艺术类的书查询结果(3)查询重庆大学出版社出版的书:查询语句:seectdstint bookne书籍名称,bookpufrombook_style,sem_okswhr bokpu=重庆大学出版社图-1 所有重庆大学出版社的书查询结果5。3.读者状态()查询什么人借了什么书查询语句:seect eadrnam 读者姓名,bkname 书籍名称froorrow_eod,ssem_books,sye_eadershee system_reads.rarid=brow_recordreaeridad yt_boo.bkid=boow_rcord.ook
38、id图-17 查询结果(2)指定查询郝永宸借了什么书查询语句:seec radernme 读者姓名,ookna书籍名称rmbrow_recrd,tmboo,ssm_reawhersyemreades.readerid=borrow_ecorearidand ystem_boos。boid=bowrecod。bokdad eadam=郝永宸图51 查询结果.运行环境描述。1选择语言本系统设计中用到了SL语言和UM建模语言。6.1。1SL语言的特点()高度非过程化应用SQ语言实现数据库编程,用户无需指明“如何完成”,只需告诉编程者需要完成的任务对象,极大地降低了用户的工作强度,提高了数据独立性。QL是以集合的方式集中处理批记录,无须对单个记录进行操作或处理。S
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100