SQL数据库图书管理系统(完整代码)_第1页
SQL数据库图书管理系统(完整代码)_第2页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、作品设计报告书题目:图书管理系统班级学号姓名课程名称指导教师目录数据库课程设计报告书一、设计目标1. 掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。2. 关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。3. 培养把所学知识运用到具体对象,并能求出解决方案的能力。二、数据库存储设计指导思想在数据库存储设计的无数选择中,简单是系统架构师和DBA的秘密武器。简单,有时候就来自于对一个特定的表或表空间没有选择最优I/O特性,总有这么一种可能,一个富有经验的DBA拥有高超的存储技能并可以没有时间限制的去为一个非常重要的表或者索引配置一个存

2、储。然而这样做的问题是,就算能达到设计的最佳性能,为了维护原始对象,这也经常造成对一个系统的管理变得更加复杂。好的数据库存储设计的要点是,在一个动态系统上,实现所有目标应该是最初的系统设计的一部分,并应该在数据库运行过程中长期进行。这篇文档简单的最佳实践描述达到了这些目标并且几乎没有性能损失。三、任务角色:读者、图书馆馆员、系统管理员;基础数据:读者信息、图书信息、操作员信息;业务数据:借还书记录登记、罚款登记;统计数据:书籍借阅情况统计或读者借阅情况统计。基本要求:利用数据库技术,完成基础数据和业务数据的储存和操作,数据库设计合理1. 设计报告:含E-R图、数据字典、关系模式、关系实例、查询

3、描述、关系代数、SQL实现的查询语言及查询结果。2. 上机实现。1.问题描述1.1 背景随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。提高图书管理工作效率,作到信息

4、的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。1.2 数据需求图书馆管理信息系统需要完成功能主要有:1.读者基本信息的输入,包括借书证编号、读者姓名、读者性别。2读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。3书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。4书籍类别信息的查询、修改,包括类别编号、类别名称。5书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称出版日期、登记日期。6书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。7借书信息的输入,包括读者借书证编号、

5、书籍编号、借书日期。8借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。9还书信息的输入,包括借书证编号、书籍编号、还书日期。10还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。11超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。12.超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等1.4关系模式(一)书籍类别(种类编号,种类名称)(二)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)(三)书籍(书籍编号,书籍名称,书籍类别,

6、书记作者,出版社名称,出版日期,登记日期)(四)借阅(借书证编号,书籍编号,读者借书时间)(五)还书(借书证编号,书籍编号,读者还书时间)(六)罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。2方案图表设计2.1E-R图根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。用E-R图一一描述这些实体。211类别实体E-R图:图2-1类别实体E-R图152.1.2读者信息实体E

7、-R图:图2-2读者信息实体E-R图2.1.3信息实体E-R图:图2-4记录信息实体E-R图215记录信息实体E-R图:216罚款信息实体E-R图:图2-6罚款信息实体E-R图216总的信息实体E-R图:图2-7总的信息实体E-R图图2-7系统的数据流程图2.3 数据字典表2-1booksytle书籍类另U信息表表中列名数据类型可否为空说明bookstylenovarcharnotnull(主键)种类编号bookstyleVarcharnotnull种类名称表2-2systemreaders读者信息表格表中列名数据类型可否为空说明readeridvarcharnotnull(主键)读者借书证号

8、readernamevarcharnotnull读者姓名readersexvarcharnotnull读者性别readertypevarcharnull读者种类regdatedatetimenull登记日期表2-3systembook书籍信息表表中列名数据类型可否为空说明bookidVarcharNotnulK主键)书籍编号booknameVarcharNotnull书籍名称bookstyleVarcharNotnull书籍类别bookauthorVarcharNotnull书籍作者bookpubVarcharNull出版社名称bookpubdateDatetimeNull出版日期bookin

9、dateDatetimeNull登记日期isborrowedVarcharNotNull是否被借出表2-4borrowrecord借阅记录信息表表中列名数据类型可否为空说明readeridVarcharNotnull(夕卜主键)读者借阅证编号bookidVarcharNotnull(夕卜主键)书籍编号borrowdateVarcharNotnull读者借书时间表2-5returnrecord借阅记录信息表表中列名数据类型可否为空说明readernameVarcharNotnull(外主键)读者借阅证编号readeridVarcharNotnull(外主键)书籍编号returndatedatet

10、imeNotnull读者还书时间表2-6readerfee罚款记录信息表readeridvarcharNotnull读者借书证编号readernamevarcharNotnull读者姓名bookidvarcharNotnull(外主键)书籍编号booknamevarcharNotnull书籍名称bookfeevarcharNotNull罚款金额borrowdatedatetimeNotNull借阅时间2.4关系图:book_style*$tii:ii:ikztyleni:iboijkstylEsystem_books*tookidliuukTLidnieliuukEtylerLOLookant

11、hort'Ooki'iittiLiLikjmtidateLookindateisborroweiroreturnrecordbookid厂已aileridreaderfeereaderid.readeridr&adern;iJTiebi:n:ilrrL!jITlQbijulzfHMr-5.reailerrL;iinereaiiertieregdate图2-8数据库存表关系图borrowrecordbciokid匕匕乩d已口i.dborrowdate3.数据库源代码3.1数据库建立3.1.1创建数据库USEmastergoCREATEDATABASEtangzhangse

12、ntsgON(NAME=librarysystem,FILENAME='c:tangzhangsenlibrary.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME='library',FILENAME='c:tangzhangsenlibrary.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB)go3.1.2书本类别表建立createtablebook_style(bookstylenovarchar(30)primarykey,bookstylevarchar(

13、30)3.1.3 创建书库表createtablesystem_books(bookidvarchar(20)primarykey,booknamevarchar(30)Notnull,bookstylenovarchar(30)Notnull,bookauthorvarchar(30),bookpubvarchar(30),bookpubdatedatetime,bookindatedatetime,isborrowedvarchar(2),foreignkey(bookstyleno)referencesbook_style(bookstyleno),)3.1.4 借书证表建立create

14、tablesystem_readers(readeridvarchar(9)primarykey,readernamevarchar(9)notnull,readersexvarchar(2)notnull,readertypevarchar(10),regdatedatetime)3.1.5借书记录表建立createtableborrow_record(bookidvarchar(20)primarykey,readeridvarchar(9),borrowdatedatetime,foreignkey(bookid)referencessystem_books(bookid),foreig

15、nkey(readerid)referencessystem_readers(readerid),)3.1.6还书记录表建立createtablereturn_record(bookidvarchar(20)primarykey,readeridvarchar(9),returndatedatetime,foreignkey(bookid)referencessystem_books(bookid),foreignkey(readerid)referencessystem_readers(readerid)3.1.7罚款单表建立*/createtablereader_fee(readeridv

16、archar(9)notnull,readernamevarchar(9)notnull,bookidvarchar(20)primarykey,booknamevarchar(30)Notnull,bookfeevarchar(30),borrowdatedatetime,foreignkey(bookid)referencessystem_books(bookid),foreignkey(readerid)referencessystem_readers(readerid)3.2数据初始化3.2.1将书籍类别加入表book_style中insertintobook_style(bookst

17、yleno,bookstyle)values(T,修真小说')insertintobook_style(bookstyleno,bookstyle)values('2',穿越小说')insertintobook_style(bookstyleno,bookstyle)values('3',恐怖小说')insertintobook_style(bookstyleno,bookstyle)values('4',都市小说')insertintobook_style(bookstyleno,bookstyle)values

18、('5',科幻小说')insertintobook_style(bookstyleno,bookstyle)values('6',仙侠小说')insertintobook_style(bookstyleno,bookstyle)values('7',言情小说')3.2.2将已有的图书加入system_books表中insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)va

19、lues('20135678901','飘渺之旅','1','萧潜','鲜网','2005-09-01','2013-05-25',T);insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)values('20135678902','唐朝好男人','2','多一半',

20、'新星出版社','2008-05-09','2013-05-26','1');insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)V巴ues(-2013567oo903締淨口-3>HTBIWWMW圧雪#-200769二00-20136527-二_);insert:infosysrembooksbookid“bookname-bookstylenobookauthorboo

21、kpubbookpubdafebookindafeisborrowedv巴ues(-2013567oo904-啓册甜回DSBT-:4-:lH+4Ha>圧雪#-:2OO9O4O2O13O5M°2二-)-insert:infosysrembooksbookid“bookname-bookstylenobookauthorbookpub"bookpubdafebookindafeisborrowedv巴ues(-2013567oo9054希-:5豔-厨>印圧雪#-:2009二91二20130529二)insert:infosysrembooksbookid“bookn

22、ame-bookstylenobookauthorbookpub"bookpubdafebookindaisborrowedv巴1(-201356700906-翊三空亠5-6-法>灌卄巨厨>田圧雪#-二99000?°17-20130530-二)insert:infosysrembooksbookid“bookname-bookstylenobookauthorbookpub"bookpubdafebookindaisborrowedv巴ues(-2013567oo907三耳左mw彗TSB槪扶圧雪#-20070409-2013053二1_)_insert

23、:infosysrembooksbookid“bookname-bookstylenobookauthorbookpub"bookpubdafebookindaisborrowedv巴ues(-2013567oo90oow2-2l扶-:田爵圧雪#-2006062s-2013053s-l)13.2.3将已有图书证的读者加入system_readers表中*/insertintosystem_readers(readerid,readername,readersex,readertype,regdate)values('Q20120401','李雷',&#

24、39;男','学生','2013-01-1812:20')insertintosystem_readers(readerid,readername,readersex,readertype,regdate)values('Q20120402',唐张森','男','学生','2013-01-1913:15')insertintosystem_readers(readerid,readername,readersex,readertype,regdate)values('Q201

25、20403','韩梅梅','女;学生','2013-01-2013:33')insertintosystem_readers(readerid,readername,readersex,readertype,regdate)values('Q20120404','露西','女;学生','2013-01-2112:01')insertintosystem_readers(readerid,readername,readersex,readertype,regdate)value

26、s('Q20120405','王强','男','学生','2013-01-2215:23')insertintosystem_readers(readerid,readername,readersex,readertype,regdate)values('201005','毛正标','男','教师','2013-01-2318:50')insertintosystem_readers(readerid,readername,reader

27、sex,readertype,regdate)values('201006','陆海鹏','男','教师','2013-01-2418:25')insertintosystem_readers(readerid,readername,readersex,readertype,regdate)values('GL001','李燕玲','女','管理',2013-01-0116:20')3.2.4添加已借书读者的记录,同时将在已借出的借阅标记置0*

28、/insertintoborrow_record(bookid,readerid,borrowdate)values('20135678901','Q20120401','2013-01-1812:20')updatesystem_bookssetisborrowed=0wherebookid='20135678901'insertintoborrow_record(bookid,readerid,borrowdate)values('20135678902','Q20120402','20

29、13-01-1913:15')updatesystem_bookssetisborrowed=0wherebookid='20135678902'andisborrowed='1'insertintoborrow_record(bookid,readerid,borrowdate)values('20135678903','Q20120403','2013-01-2013:33')updatesystem_bookssetisborrowed=0wherebookid='20135678903

30、9;andisborrowed='1'insertintoborrow_record(bookid,readerid,borrowdate)values('20135678904','Q20120404','2013-01-2112:01')updatesystem_bookssetisborrowed=0wherebookid='20135678904'andisborrowed='1'insertintoborrow_record(bookid,readerid,borrowdate)value

31、s('20135678905','Q20120405','2013-01-2215:23')updatesystem_bookssetisborrowed=0wherebookid='20135678905'andisborrowed='1'insertintoborrow_record(bookid,readerid,borrowdate)values('20135678907','201005','2013-01-2318:50')updatesystem_boo

32、kssetisborrowed=0wherebookid='20135678907'andisborrowed='1'insertintoborrow_record(bookid,readerid,borrowdate)values('20135678908','201006','2013-01-2418:25')updatesystem_bookssetisborrowed=0wherebookid='20135678908'andisborrowed='1'324结果数据处理4.

33、1单表查询411表book_style中査询演示:查询语句:select*frombook_style图4-1表book_style中内容412表system_books中查询演示:査询语句:select*fromsystem_books图4-2表system_books中内容413将已有图书证的读者加入system_readers表中结果查询:査询语句:select*fromsystemreaders图4-3表system_readers中内容414借书纪录表borrow_record结果查询:查询语句:select*fromborrowrecord图4-4表borrow_record中内容

34、4.2超期处理4.2.1现在对已有借书证的读者进行査询借书是否超期查询语句:(这里归定30天):selectsystem_readersreaderid读者借书证编号readername读者姓名,system_booksbookid书籍编号bookname书名borrowdate借书时间datediff(day,convert(smalldatetime,borrowdate),getdate()-30超过天数fromborrow_recordsystem_readerssystem_bookswheresystem_readersreaderidborrow_recordreaderidan

35、dsystem_booksbookidborrow_recordbookidanddatediff(day,convert(smalldatetime,borrowdate),getdate()>=30TA1O-AA1E5177.auerTl.sql*前圭selectsystemreaders.reEiderid.syaremnaots.Eidqfclddatediffi'day?convert说明:当前的getdate()以当前的时间和日期计算箱借书证循号"胡*迪远谏看姓茗书籍编号-hgkiiawE!书名小口bdgaUE!惜书时问(sras.1Idatetimtbar

36、coudatei7uetdate')-3D超i寸天對frosihocrowrecord,systemreaderssystem_baokswheresystemrsadsrs.readerid=borrowrecord.rasderideiiLCl5yscem_tiooRs.tiooiii-riurrow_cecordl.tioolclilcinddatrdiff:day匚口nvert(smtil1datetiine上i匸匚口卩日at亡)丿getdate()>-30二I览果匕消息徴舌借书证編寻读书籍歸号书名借书菇间1Q2D1204U12013567890120101-1812:3

37、0:00.0001152Q2D120402'1j0135E7890.2010119->3:15:00.0001143Q2D12D40920195G78903鬼取灯2019-01-2013:22:00.0001194Q2D12D40+2013567090和空坦同届的日子201301-2112:01:00.0001125Q2D12D405201356799052013-012215:29.Ca.DD0111G20100520135G7S90?何以笙箫默201301-2910:93:00.03011D720100620135676900歩歩惊心2013-01-3416:25:00.00

38、0109聊1査询已成功执厅-TAP3-ftAlE5L0ftD?询0K7Hj7AIt-MlE51SW3FtansC54)ruieihajiesentEg00DO:noT行图4-4选出借出超过30天的读者4.2.2同时也可以用语句超过天数的读者进行罚款,加入到罚款单里面,一天以0.3元扣除计算:语句insertintoreader_feereaderidreadernamebookidbooknamebookfeeborrowdateselectsystem_readersreaderid读者借书证编号readername读者姓名system_booksbookid书籍编号bookname书名0.

39、03*(Datediff(day,convert(smalldatetime,borrowdate),getdate()-30)超过时间天数,borrowdate借书时间fromwhereborrow_recordsystem_readerssystem_bookssystem_readersreaderidborrow_recordreaderidandsystem_booksbookidborrow_recordbookidandDatediff(day,convert(smalldatetime,borrowdate),getdate()>=30goselectbookid,rea

40、derid,getdate()fromborrow_recordwherebookid='20135678901'selectreaderid书读者借书证编号,readername读者姓名,bookid书籍编号,bookfee超期罚款fromreader_fee图4-5查看罚款单4.3还书操作431现在对某一读者进行还书操作:1.首先还书要在还书纪录中添加一条还书纪录insertintoreturn_recordbookidreaderidreturndate)(1行受影响)查询语句:selectbookid书籍编号,readerid读者借书证号returndate归还时间fr

41、omreturn_record图4-6增加了20135678901纪录2.其次删除相应书本的借阅纪录deletefromborrow_recordwherebookid='20135678901'(1行受影响)查询语句:selectbookid书籍编号,readerid读者借书证号,borrowdate归还时间fromborrow_record图4-720135678901这本书在借书纪录里没有了3最后在书库中标记该本书为1,表示归还了未借,可供其他读者借阅updatesystem_bookssetisborrowed=1wherebookid='20135678901

42、'(1行受影响)查询语句:selectbookid书籍编号,bookname书籍名称,isborrowed是否借出fromsystem_bookswherebookid='20135678901'图4-8标记设为了'1'说明:这本书重新回到未被借出标记为1其结果为还书成功,相应的各表都有变化,对于罚款单通过借阅记录表borrow_record中更新。4.4借书操作4.4.1査询未被借出的书本:查询语句:selectbookid书籍编号,bookname书籍名称fromsystem_bookswhereisborrowed=T图4-94.4.2查询已被借出

43、的书本:查询语句:selectbookid书籍编号,bookname书籍名称fromsystem_bookswhereisborrowed='0'图4-104.4.3申请借书证:Insertintosystem_readers(readerid,readername,readersex,readertype,regdate)values('Q20120406','小萌萌','女','学生;getdate()(1行受影响)查询语句:select*fromsystem_readerswherereaderid='Q20

44、120406'图4-11说明:查询相应的纪录增加了小萌萌这样一个读者的借书证纪录:4.4.4注销借书证:注销之前执行所有的还书过程,小萌萌借书证纪录就被删除了,同时要删除和小萌萌归还纪录的内容deletefromsystem_readerswherereaderid='Q20120406'Godeletefromreturn_recordwherereaderid='Q20120406'(1行受影响)(0行受影响)TAIC-AA1ES1.-delete土匚口mGodeletefrom-hao.sql*摘要Xsystemreturnrecordwherer

45、eaderid=1Q2012005'wherereaderid=1Q201204061门L>匕消息Ci行受參响)A!=3co行受家响)©TOGUIESISAOF(9.0FlTHI)TAUG-AA1E518A0FV+:mg(54)t:=LTLgrk:=LTLgEentEg00:00:确认小萌萌是否被删除查询语句:select*fromsystem_readerswherereaderid='Q20120406'4.4.5査询所有书所对应的类别:4.4.5査询所有书所对应的类别查询语句:selectdistinctbookname书籍名称,bookstyle书籍类别frombook_stylesystem_boo

温馨提示

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

评论

0/150

提交评论