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

下载本文档

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

文档简介

1、成绩:实 验 报 告课程名称:数据库应用技术实验项目:图书馆管理系统姓 名:专 业:计算机科学与技术班 级:计算机09-1班学 号:计算机科学与技术学院实验教学中心2012年 5月 10日1项目背景1.1 系统背景信息化是当今世界发展的大趋势,所谓信息化,就是充分利用信息技术,开发利用信息资源,促进信息交流和知识共享,提高经济增长质量,推动经济社会发展转型的历史进程。大力推进信息化发展,已成为我国经济社会发展新阶段重要而紧迫的战略任务。小型图书馆管理信息系统就是能满足读者和图书相对数量较少的小型图书馆实现日常操作信息化和后台统计电算化的系统,它可以帮助图书馆管理人员处理基本的管理项目,使小型图

2、书馆也能满足信息化的需要。开发这个小型图书馆管理软件,利用计算机对图书资料以及读者资料进行管理能提高工作效率,可方便查找图书信息,快捷的借出或归还图书。管理员还可根据系统提供的图书借阅排行榜功能即时了解图书的需求信息,掌握今后图书的订购计划;也可根据罚款统计功能统计某一时间段内收缴罚款的总额。本系统面向windows操作系统,以microsoft access 2003为后台数据库,采用visual basic.net作为开发工具,开发过程采用面向对象技术。1.2 系统意义 图书馆进行社会教育,主要表现在可以为社会、为读者提供最完备的学习条件:资源、场地、设备。受教育者可以长期的、自由地利用图

3、书馆进行自学。它还是学校教育的重要组成部分。在学校里,图书馆是基本的教育设施,它被誉为“知识的宝库、知识的喷泉”,“大学的心脏”,“学校的第二课堂”,直接承担着培养人才的重任。2 系统分析2.1 可行性分析1)技术可行性随时计算机技术和管理信息系统的不断进步和发展,对小型图书馆的管理从以前手工管理转移到计算机管理是切实可行的。由于市面上已经有很多大型图书馆的管理软件,因此在技术上是相当成熟的,其可行性也是毋庸置疑的。本系统是针对小型单位或组织的小型图书馆来开发图书馆管理系统,面向windows操作系统,以microsoft access 2003作为后台数据库,采用visual basic.n

4、et作为开发工具,采用面向对象技术。笔者对这两种工具掌握程度较好,因此在技术上不存在问题。2)经济可行性本系统的开发只需有安装好相应运行软件的计算机即可,对经济的要求很低。项目成功后,可加快对数据的处理,节省人力,节约时间。系统对于输入输出的规范,也提高了数据的可用性,增强了数据库的安全系数。运用系统能方便的对图书和读者进行录入、修改、查询和统计以及书籍借阅和归还等工作,也能快速统计出图书借阅排行榜,从而便于掌握对各类图书的需求,对以后制订的图书订购计划能提供一定帮助,具有一定的现实意义。3)操作可行性本系统界面友好,不仅提供各种查询菜单栏,更提供直观的工具栏按钮,操作流程与实际流程一致,图书

5、馆管理人员只要稍加了解就能熟练操作。系统实现后,能使小型图书馆管理人员从繁杂的手工作业中解放出来,提高其工作效率。综上所述,系统是可行的。2.2 需求分析小型图书馆管理信息系统,是按照实际的图书借阅流程来设计的,因此其功能也是跟实际的图书馆借阅功能一致。所以,该小型图书馆管理系统的设计,要包含图书借出、归还功能和数据统计功能。主要应具备以下业务处理能力:图书借出,完成借书时的信息查询,借后的信息入库,借书次数统计等等;图书归还,完成还书时的信息查询和数据入库等。另外还需具有图书信息管理和读者信息管理所需的基本功能,包括添加、删除、修改和查询,以及相关信息导入excel和打印功能等。此外,一些相

6、关的数据统计功能也很必要,如借阅统计、读者超期罚款统计等,可以为管理员工作提供参考。整个系统既要实现基本业务,还要提供高效性、易用性和稳定性的性能要求。2.3系统功能分析系统功能分析是在系统开发的总体任务的基础上完成。图书管理系统需要完成功能主要有:l 有关读者种类标准的制定、种类信息的输入,包括种类编号、种类名称、借书数量、借书期限、有效期限、备注等。l 读者种类信息的修改、查询等。l 读者基本信息的输入,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等。l 读者基本信息的查询、修改,包括读者编号、读者姓名、读者种类、读者性别、工作单位

7、、家庭住址、电话号码、电子邮件地址、办证日期、备注等等。l 书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称、关键词、备注信息等。l 书籍类别信息的查询、修改,包括类别编号、类别名称、关键词、备注信息等。l 书籍信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍页数、关键词、登记日期、备注信息等。l 借书信息的查询、修改,包括借书信息编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。l 还书信息的输入,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。还书信息的查寻和修改,包括还书信息编号、读者编号、读者

8、姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。2.3.1系统功能模块图对上述各功能进行集中、分块,按照结构化程序设计的要求,得到如图一所示的系统功能模块图。2.4业务流程分析2.4.1 业务流程描述1)添加图书新添加的图书由管理员进行入库操作,添加图书信息到图书信息表中。管理员依次输入图书条形码,书名,作者,出版社,出版时间,页数,类别,存放位置,图书总数和图书价格,系统自动根据图书类别、出版时间给出该书在数据库中的唯一编号,并同时记录入馆时间。所有这些信息将会被添加到图书基本信息表中。2)添加读者新加入的读者也由管理员进行添加操作,添加新读者信息到读者信息表中。管理员依次输入读者

9、姓名,单位部门,住址,备注,联系电话和类别,系统自动根据读者类别等信息给出该读者在数据库中的唯一编号,并自动记录登记日期。所有这些信息将被添加到读者基本信息表中。3)图书管理可以对数据库中所有的图书(包括在馆和不在馆的)进行管理,可以对图书信息进行修改、删除。首先使用“定位”来确认要管理的图书,也可通过图书编号、条形码等来查找要管理的图书。4)读者管理可以对数据库中所有的读者进行管理,可以对读者的信息进行修改、删除。首先使用“定位”来确认要管理的读者,也可通过读者编号、姓名等来查找要管理的读者。5)图书借出业务读者根据需要查询图书信息,找到要借图书后,系统根据读者编号和图书编号调出相关信息,判

10、断读者能否借此书,并根据读者类别计算应还日期,借书成功后系统自动在相关数据表中修改读者借书信息以及该图书相关信息。6)图书归还业务系统根据图书实际归还日期以及应还日期判断是否超期,根据罚款设置表中相关信息计算罚款金额,并提示过期读者应缴纳的罚款金额,最后将归还信息写入数据库各相应的数据表中。7) 信息查询业务包括图书基本信息查询,读者基本信息查询,在这个查询界面,系统提供多种查询条件供用户选择,根据需要查询信息。主界面上的用户自定义查询都支持模糊查询,以方便用户。另外也可对所有借出图书,当日借出、当日归还、当日新进图书信息进行查询,以及当日借书读者、当日还书读者,当日新增读者和过期未还读者信息

11、的查询。无论是那种查询,都可以把查询出来的数据导入到excel或打印。8) 统计业务包括图书借阅排名统计和罚款金额统计。在图书借阅排名统计中,系统提供借出次数前10名的图书排行榜,让管理员掌握读者的喜好,为以后购买图书提供参考。在罚款金额统计中,管理员只需选择要统计的时间段,就可以统计出该时间段内的罚款信息以及罚款总额。9)系统管理这部分包括修改管理员登录密码、图书类别设置、存放位置设置和读者类别设置等。10)打印操作 本系统提供所有图书信息打印,所有读者信息打印等,另外也提供自定义打印,即可对查询出来的结果进行打印。2.4.2 系统业务流程图业务流程图(transaction flow di

12、agram, tfd)是一种描述系统内各单位、人员之间业务关系,作业顺序和管理信息流向的图表1。业务流程图常用符号如图所示:根据上述对图书馆管理流程一系列的调研和分析,可以得到如下图所示的系统综合业务流程图:2.5 数据流程分析数据流程图(data flow diagram, dfd)是以管理业务流程图为依据,通过抽象以舍去具体的组织结构、工作场所和物流等,单从数据信息流动的角度,来描述系统内部及系统与环境之间的数据信息的传递、处理和存储过程的一种工具1。数据流程图中常用的符号如图所示:根据系统的业务流程,对其中的数据流向、处理及数据存储进行分析后,可以得到本系统的数据流程图:2.6 数据字典

13、数据字典是用来规范化描述数据具体内容的工具,也是对数据汇总分析的一个总结,包括数据流字典、数据存储字典和数据处理字典(分别如下文所示)。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述1。数据流字典清单:1) 编号:f1名称:读者借阅请求来源:读者去向:p1检查库存和读者信息内容:读者相关信息以及要借图书编号或条形码等信息2) 编号:f2名称:新的借阅信息来源:p1检查库存和读者信息去向:p2创建新的借书记录内容:读者合法且可以借书,图书有库存可以借出3) 编号:f3名称:新的读者信息来源:p1检查库存和读者信息去向:p3创建新读者内容:没有该读者,以及新读者的

14、基本信息如姓名、单位等4) 编号:f4名称:图书相关信息来源:d2图书信息表去向:p1检查库存和读者信息内容:被要求借阅图书的信息,包括图书基本属性和现有数量等信息5) 编号:f5名称:合法的读者信息来源:p3创建新读者去向:d1读者信息表内容:系统要求的读者信息,如姓名、单位、登记日期等6) 编号:f6名称:读者情况来源:d1读者信息表去向:p1检查图书库存和读者信息内容:有借书请求的读者相关情况7) 编号:f7名称:超期罚款标准来源:d1读者信息表去向:p5计算罚款金额内容:超期读者的类别以及该类别超期的罚款标准8) 编号:f8名称:借阅信息来源:p2创建新的借阅记录去向:d3借阅情况表内

15、容:借书的读者信息以及所及图书信息,借书日期9) 编号:f9名称:归还图书请求来源:读者去向:p4归还图书内容:读者信息,要归还图书信息10)编号:f10名称:归还图书信息来源:p4归还图书去向:d3借阅信息表内容:读者信息,归还的图书信息,还书时间11)编号:f11 名称:超期天数来源:p4归还图书去向:p5计算罚款金额内容:读者超期图书的超期天数12)编号:f12名称:罚款记录来源:p5计算罚款金额去向:d4罚款金额统计表内容:读者以及超期图书相关信息,超期天数,罚款总额13)编号:f13名称:罚款金额通知来源:p5计算罚款金额去向:读者内容:读者为超期图书支付的罚款金额数据存储字典清单:

16、1) 编号:d1名称:读者信息表输入数据流:新读者信息输出数据流:读者相关信息内容:读者编号、姓名、性别、单位部门、联系电话、类别、等级日期、借书次数等与读者有关的各种信息2) 编号:d2名称:图书信息表输入数据流:新图书信息输出数据流:图书相关信息内容:图书编号、条形码、书名、作者、出版社出版时间、页数、类别、存放位置、图书总数、入馆时间、如数价格、借出次数等与图书有关的各种信息3) 编号:d3名称:图书借阅情况表输入数据流:读者信息,图书信息,读者借阅请求等输出数据流:图书借阅中读者和图书相关信息内容:编号,借书者信息、所借图书信息、借书日期等4) 编号:d4名称:罚款统计表输入数据流:超

17、期天数、读者信息、罚款标准等输出数据流:读者超期罚款相关信息内容:超期图书的借阅者、超期天数、罚款金额等数据处理字典清单:1) 编号:p1名称:检查图书库存和读者信息输入:读者借书请求处理逻辑情况:根据读者借书请求,参考d1和d2,若没有该读者则创建新读者,若图书可借则创建新的借阅信息输出:创建新的借阅信息2) 编号:p2名称:创建新的借书记录输入:新借书信息,即读者和所借图书相关信息处理逻辑情况:根据p1的结果,将新借阅信息添加到d3(图书借阅情况表)中输出:新的借阅信息3) 编号:p3名称:创建新读者输入:新读者信息处理逻辑情况:根据读者的基本信息,给出读者编号,添加到d2(读者信息表)中

18、输出:新加入的读者信息4) 编号:p4名称:归还图书输入:还书请求处理逻辑情况:根据还书读者属性,以及借阅情况,判断是否过期,若没有则还书成功,若过期,则执行p5输出:归还信息5) 编号:p5名称:计算罚款金额输入:罚款标准、超期天数处理逻辑情况:根据该读者的超期天数、对应的罚款标准计算出罚款金额,填入d4(罚款统计表)中输出:罚款信息3.数据库设计3.1 er图设计规划出的实体有:读者类别信息实体、读者信息实体、书籍类别信息实体、书籍信息实体、借阅信息实体、借阅信息实体。各个实体具体的描述e-r图如下。读者类别信息实体读者类别信息实体e-r图借书数量种类编号种类名称借书期限 读者信息实体e-

19、r图。读者信息实体办证日期读者编号读者类别读者姓名 书籍类别实体e-r图书籍类别信息实体备注信息类别编号类别名称关键词 书籍信息实体e-r图书籍信息实体出版社书籍编号书籍类别书籍名称 借阅信息实体e-r图借阅信息实体借书借书借阅信息编号书籍信息读者信息 实体之间相互关系的e-r图书籍类别信息读者类别信息 读者信息登记书籍信息登记书籍信息管理读者信息管理借阅登记借阅信息管理3.2 数据库逻辑结构设计e-r图是建立数据模型的基础,根据e-r模型向关系模式的转换规则,可以将e-r图中所有的实体和联系都用关系来表示,从而可以得到数据库的逻辑模型。该图书馆管理信息系统中各个数据表的设计如下所示:图书馆管

20、理系统中数据库的各个表格设计结果如下: 书库图书信息表列名列名表示数据类型长度图书编号bidnumber20书名bnamevarchar220类别liebievarchar220出版社chubanshevarchar220作者zuozhevarchar220版次bancinumber20定价pricenumber20是否损坏brokenboolean5是否遗失missboolean5入库时间timedate/time20库存总数btotalnumnumber20已借出数bborrowednumnumber20 学生信息表列名列名表示数据类型长度学号stuordnumber20姓名stuname

21、varchar220性别sexboolean5系别xibievarchar220班级classnumber20已借图书stuborrowinteger5已借数量stunnumnumber20 借阅信息表列名列名表示数据类型长度图书编号bidnumber20学号stuordnumber20书名bnamevarchar220学生姓名stunamevarchar220已借图书borrownuminteger5借阅日期datedate/time20是否归还backboolean5续借xujieboolean5 过期书信息表列名列名表示数据类型说明图书编号bidnumber20书名bnamevarcha

22、r220学号stuordnumber20学生姓名stunamevarchar220过期时间deadtimedate/time20 罚款信息表列名列名表示数据类型长度流水号serialidnumber20罚款原因reasonvarchar2100罚款金额numnumber5日期datedate/time203.3物理结构设计3.3.1创建表空间1、 创建表空间create tablespace book_tbsdatafilec:lib_tablespacebook_tbs01.dbfsize 32m;2、 在oracle中创建用户book并使用上面的表空间create user bookide

23、ntified by bookdefault book_tbs;3、 给book用户授权并使用book用户完成下列步骤grant create session,dba to book;4、 创建各对象表书库图书信息表:create table books( bid number(20), bname varchar2(20), liebie varchar2(20), chubanshe varchar2(20), zuozhe varchar2(20), banci number(20), price number(5),broken boolean(5),miss boolean(5),t

24、ime data,btotalnum number(20),bborrowednum number(20);学生信息表:create table students( stuord number(20), stuname varchar2(20), sex boolean, xibie varchar2(20), class number(20), stuborrow int stunum number(20);借阅信息表:create table borrow ( bid number(20), bname varchar2(20),stuord number(20), stuname var

25、char2(20),borrownum int, date date, liebie varchar2(20), back boolean,xujie boolean);过期书信息表:create table guoqi ( bid number(20),bname varchar2(20),stuord number(20), stuname varchar2(20),deadtime date);罚款信息表:create table fakuan(serialid number(20),num number(5),reason varchar2(100),date date);3.3.2创

26、建触发器1. 创建触发器-(查询图书信息)create trigger selectborrowon borrowfor selectas declare btotal int,bborrowed intselect btotal=btotalnum,bborrowed=bborrowednum from inserteddbms.output.put_line(图书总量:| btotal)dbms.output.put_line(图书借书数:| bborrowed)end;/2. 创建触发器-(查询学生信息)create trigger selectstudenton studentsfor

27、 selectasdeclare stuord number,stuname varchar2, stunum number, stuborrow intselect stuord = stuord, stuname = stuname,stunum= stunum, stuborrow= stuborrow from inserteddbms.output.put_line(学号:| stuord)dbms.output.put_line(学生姓名:| stuname)dbms.output.put_line(学生借书量:| stunum)dbms.output.put_line(学生借书科

28、目:| stuborrow)end;/ 3.创建触发器-(书本没有库存,则无法进行借书操作)create trigger tri_bookon booksfor updateasdeclare btotal int,bborrowed intselect btotal=btotalnum,bborrowed=bborrowednum from insertedif(btotal5) -假定学生最多只能借五本书beginrollback transactiondbms.output.put_line( 无法借阅!)dbms.output.put_line( 对不起,你的借阅总量已经达到5本,无法

29、进行本次借书操作!请归还部分书籍后,再进行借书操作!)end;/5.创建触发器-(图书过期要求)create trigger tri_srenewbookon studentsfor updateas declare s intselect s=deadtime from insertedif(s60)beginrollback transactiondbms.output.put_line( 您借的图书已过期,无法再借阅别的书.)end/3.3.3创建视图1.create view book_view(bv_bid,bv_bname,bv_bborrowed,bv_btotal)asselect bid,bname,bborrowednum,btotal,from books;2.create view student_view(sv_stuord,sv_stuname,sv_class,sv_borrownum)asselect stuord, s

温馨提示

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

评论

0/150

提交评论